有人会说,明明可以使用navicat一键导出脚本,为什么还要这么麻烦呢?呵呵,太天真!比如某些政府项目,服务器权限给你限制的死死地,各种V**、跳板机、端口屏蔽、防火墙让你一身本领无从下手。能让你远程敲命令就不错了。
命令行下具体用法
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