命令行下具体用法如下:
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
命令参数
- -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 端口
报错
- 报错一:mysqldump: Got error: 2003: Can't connect to MySQL server on '127.0.0.1' (10061) 指定本地地址,但是如果需要更改过本地mysql端口,可能运行不成功,需要加上-P指定端口号
mysqldump -h 127.0.0.1 -u123456 -p dump > /data/dump.sql
- 报错二:mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when try,怎么输入用户名和密码都是在报错,说是需要指定sock
mysqldump -uroot -p dump > dump.sql
- 报错三: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/mysql.sock dump > dump.sql