有人會說,明明可以使用navicat一鍵導出腳本,爲什麼還要這麼麻煩呢?呵呵,太天真!比如某些政府項目,服務器權限給你限制的死死地,各種VPN、跳板機、端口屏蔽、防火牆讓你一身本領無從下手。能讓你遠程敲命令就不錯了。
命令行下具體用法
mysqldump -u用戶名 -p密碼 -d 數據庫名 表名 > 腳本名;
導出整個數據庫結構和數據
mysqldump -h localhost -uroot -p123456 database > dump.sql
導出單個數據表結構和數據
mysqldump -h localhost -uroot -p123456 database table > dump.sql
導出整個數據庫結構(不包含數據)
mysqldump -h localhost -uroot -p123456 -d database > dump.sql
導出單個數據表結構(不包含數據)
mysqldump -h localhost -uroot -p123456 -d database table > dump.sql
如果提示報錯:找不到mysqld.sock
root@menjin:/data/wwwroot# mysqldump -h localhost -uroot -pdev -d f3db > dump.sql
mysqldump: Got error: 2002: "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")" when trying to connect
root@menjin:/data/wwwroot# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")
解決辦法:
1、看下mysql.sock在什麼位置
root@menjin:/data/wwwroot# find / -name mysql.sock
/opt/lampp/var/mysql/mysql.sock
2、命令後加參數,指定mysql.sock的位置
root@menjin:/data/wwwroot# mysqldump -h localhost -uroot -pdev -d f3db > dump.sql -S /opt/lampp/var/mysql/mysql.sock