① mysql中備份資料庫的命令是什麼
常規的mysql備份使用命令是 mysqlmp命令用法如下,
mysqlmp [選項] 資料庫名 [表名] > 腳本名
或mysqlmp [選項] --資料庫名 [選項 表名] > 腳本名
或mysqlmp [選項] --all-databases [選項] > 腳本名
例如:
備份所有資料庫:
mysqlmp -uroot -p --all-databases > /backup/mysqlmp/all.db
備份指定資料庫:
mysqlmp -uroot -p test > /backup/mysqlmp/test.db
備份指定資料庫指定表(多個表以空格間隔)
mysqlmp -uroot -p mysql db event > /backup/mysqlmp/2table.db
備份指定資料庫排除某些表
mysqlmp -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqlmp/test2.db
還原命令例如:
mysqladmin -uroot -p create db_name
mysql -uroot -p db_name < /backup/mysqlmp/db_name.db
註:在導入備份資料庫前,db_name如果沒有,是需要創建的; 而且與db_name.db中資料庫名是一樣的才可以導入。
② mysql資料庫運用mysqlmp命令過後沒有反應是什麼情況。如圖。
通用規律只有使用 --all-databases (-A) 會 ERROR 1356,那就看看他到底備份了什麼東西。於是喊上同事一起 less 看了下,上下掃了兩眼。突然發現:1. 備份 SQL 文件里 DROP 掉了 mysql.proc;2. 後CREATE了一個新的 mysql.proc;3. LOCK TABLES 和 UNLOCK TABLES 中間居然沒有備份 CREATE ROUTINE 任何數據?這不就是相當於每次導入全備都給我一個沒有任何 sys schema routines 的全新 mysql.proc 表?那這不就異常的尷尬?
---- Table structure for table `proc`--
---- Dumping data for table `proc`-
真相大白在官方文檔【sys-schema-usage】官方文檔明確的告訴我們不會備份 sys 庫。但在使用 mysqlmp 在執行 --all-databases 會清空 mysql.proc 導致 sys 無法正常使用;這是一個 BUG,並且只存在於 MySQL 5.7.x !
1、mysql_upgrade install or upgrade sys schema
這個方案適用於 sys 庫已經因為 mysqlmp 導入而損壞的情況下使用。
注意:mysql_upgrade 在修理 sys 庫的同時,還修理 mysql 庫和用戶庫表(期間加鎖且速度一般),有極小可能會誤傷;使用 mysql_upgrade 的時候要加上 --upgrade-system-tables,不然會掃描用戶庫表。
2、全備時同時備份 sys 庫
這個方案適用於需要還原的資料庫,sys 庫也不太正常的情況下使用;在全備後額外再備份一份 sys 庫用於修復。
注意:不適用於做主從時使用它。
3、使用 databases 全備
這個方案適用於所有場景的全備需求,100% 安全。
4、使用 mysql-sys 開源代碼
如果你的資料庫 sys 全部中招了,又是生產庫。那你只能用這個方法;
mysql-sys:https://github.com/mysql/mysql-sys
中記錄了 sys 庫的創建語句將文件下載到本地,然後根據資料庫版本,執行以下命令即可。
③ 備份或導出資料庫命令mysqlmp怎麼使用
方法/步驟
開始——運行——輸入cmd,確定
進入Dos命令行下,輸入mysqlmp
--help,可以先熟悉mysqlmp的幫助信息
注意:
如果安裝時配置了bin路徑則可以直接輸入mysqlmp
--help命令
如果安裝時沒有配置了bin路徑則需要切換到mysql安裝目錄下的bin目錄下輸入mysqlmp
--help命令
在幫助信息里可以看到命令的基本格式如下:
Usage:
mysqlmp
[OPTIONS]
database
[tables]
OR
mysqlmp
[OPTIONS]
--databases
[OPTIONS]
DB1
[DB2
DB3...]
OR
mysqlmp
[OPTIONS]
--all-databases
[OPTIONS]
備份或導出整個資料庫
輸入mysqlmp
-uroot
-p
test
>
test.sql
回車後輸入輸入root的密碼即可
命令解釋:
mysqlmp
-u
用戶名
-p
資料庫名
>
導出的文件名
這樣打開我的電腦就可以在當前目錄看到導出的文件了
備份或導出資料庫中一個表
輸入mysqlmp
-uroot
-p
phpmyadmin
pma_bookmark
>
pma_bookmark.sql
回車後輸入輸入root的密碼即可
命令解釋:
mysqlmp
-u
用戶名
-p
資料庫名
表名>
導出的文件名
這樣就可以在當前目錄看到導出的文件了。
就可以還原或導入到別的資料庫伺服器上了。
補充:
關於msyql其他命令怎麼使用,可以點擊作者名片,在經驗列表中找到。
④ 如何使用mysqlmp命令備份mysql資料庫
通用規律只有使用 --all-databases (-A) 會 ERROR 1356,那就看看他到底備份了什麼東西。於是喊上同事一起 less 看了下,上下掃了兩眼。突然發現:1. 備份 SQL 文件里 DROP 掉了 mysql.proc;2. 後CREATE了一個新的 mysql.proc;3. LOCK TABLES 和 UNLOCK TABLES 中間居然沒有備份 CREATE ROUTINE 任何數據?這不就是相當於每次導入全備都給我一個沒有任何 sys schema routines 的全新 mysql.proc 表?那這不就異常的尷尬?
---- Table structure for table `proc`--
---- Dumping data for table `proc`-
真相大白在官方文檔【sys-schema-usage】官方文檔明確的告訴我們不會備份 sys 庫。但在使用 mysqlmp 在執行 --all-databases 會清空 mysql.proc 導致 sys 無法正常使用;這是一個 BUG,並且只存在於 MySQL 5.7.x !
1、mysql_upgrade install or upgrade sys schema
這個方案適用於 sys 庫已經因為 mysqlmp 導入而損壞的情況下使用。
注意:mysql_upgrade 在修理 sys 庫的同時,還修理 mysql 庫和用戶庫表(期間加鎖且速度一般),有極小可能會誤傷;使用 mysql_upgrade 的時候要加上 --upgrade-system-tables,不然會掃描用戶庫表。
2、全備時同時備份 sys 庫
這個方案適用於需要還原的資料庫,sys 庫也不太正常的情況下使用;在全備後額外再備份一份 sys 庫用於修復。
注意:不適用於做主從時使用它。
3、使用 databases 全備
這個方案適用於所有場景的全備需求,100% 安全。
4、使用 mysql-sys 開源代碼
如果你的資料庫 sys 全部中招了,又是生產庫。那你只能用這個方法;
mysql-sys:https://github.com/mysql/mysql-sys
中記錄了 sys 庫的創建語句將文件下載到本地,然後根據資料庫版本,執行以下命令即可。
⑤ mysqlmp 不是內部命令或外部命令,也不是可執行的命令怎麼回事
mysqlmp
不是內部命令或外部命令,也不是可執行的命令怎麼回事
可能是路徑沒有設置好,
你直接到mysqlmp所在的目錄上運行試一下。
⑥ mysql 在dos下執行備份命令為什麼返回結果只看到小箭頭
這個小箭頭是等待輸入小箭頭,表示你上一句未完結
原因是因為:
重定向後不需要加分號
在一句SQL語句結束時需要加分號
MySQL中沒有mysqlmp 這個命令,你需要先exit返回命令行後執行才有效
即:mysqlmp -uroot -p --databases dongtai >C: ackup dongtai sql
此外,我想要糾正您的一個語法錯誤,這個窗口並非DOS,而是命令控制台,是Windows下對命令系統的模擬
⑦ 我的Mysql5.024a為什麼用不mysqlmp命令
你用法錯了,不要登錄到mysql的命令行模式,直接打開cmd,不需登錄mysql
轉載至:http://..com/link?url=W3zH4LI83pxc7-_PqZSmohp_rdRRZFrK
⑧ paramiko執行mysqlmp命令不存在
文件丟失。
使用命令不存在的時候,就必須找到命令的路徑,可以用find查找,查找後保存在資料庫文件夾中即可。
paramiko包含兩個核心組件:SSHClient和SFTPClient。SSHClient的作用類似於Linux的ssh命令,是對SSH會話的封裝,該類封裝了傳輸(Transport),通道(Channel)及SFTPClient建立的方法(open_sftp),通常用於執行遠程命令。SFTPClient的作用類似與Linux的sftp命令,是對SFTP客戶端的封裝,用以實現遠程文件操作,如文件上傳、下載、修改文件許可權等操作。