問題描述:要將一個mysql中六個數據庫導出來,使用mysqldump導出
mysqldump使用語法:mysqldump -uroot -p -S /data/mysql/db_itax_m/mysql.sock --default-character-set=utf8 --set-gtid-purged=off --databases dbname --tables tablename > /tmp/tablename.sql
-u 用戶
-p 密碼,可以省略在執行完腳本后輸入密碼
-S sock文件路徑
--default-character-set 字符集
--set-gtid-purged Mysql 數據庫 在主從 數據庫進行 導出備份和恢復的時候,需要注意是否啟用數據庫用GTID模式.如果開啟,則在mysqldump數據時,應該mysqldump命令加上參數--set-gtid-purged=OFF
--databases 全庫導出
-d 導出建庫語句
--tables 全表導出
-h host地址,本機或者異地IP
-P 端口
1.報錯一:mysqldump: Got error: 2003: Can't connect to MySQL server on '127.0.0.1' (10061) 指定本地地址,但是如果需要更改過本地mysql端口,可能運行不成功,需要加上-P指定端口號
mysqldump -h 127.0.0.1 -udzht -p esignpro_service > /data/esignpro_service.sql
2.報錯二:mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when try,怎么輸入用戶名和密碼都是在報錯,說是需要指定sock
mysqldump -uroot -p esignpro_service > esignpro_service.sql
3.報錯三:mysqldump: Got error: 2002: Can't connect to local MySQL server through sock 說是/etc/mysql.cnf沒有配置sock路徑,在mysql.cnf中指定sock的路徑,但是是生產環境不能隨意修改配置
mysql -uroot -p -S /data/mysql/db_dzht/mysql.sock cert_service.sql > cert_service.sql
加上--set-gtid-purged=off --d指定數據庫也可以進行備份,但是-d是只備份建庫語句。
mysqldump -uroot -p -S /data/mysql/db_dzht/mysql.sock --default-character-set=utf8 --set-gtid-purged=off -d cert_service > /tmp/cert_service.sql
需要換成--databases,導出全庫數據,可以導出成功
mysqldump -uroot -p -S /data/mysql/db_dzht/mysql.sock --default-character-set=utf8 --set-gtid-purged=off --databases cert_service > /tmp/cert_service.sql