#MySQLdump常用
mysqldump -u root -p --databases 数据库1 数据库2 > xxx.sql
备份全部数据库的数据和结构
mysqldump -u root -hlocalhost -p123456 -A > /data/mysqlDump/mydb.sql
备份全部数据库的结构(加-d参数)
mysqldump -u root -hlocalhost -p123456 -A -d > /data/mysqlDump/mydb.sql
备份全部数据库的数据(加-t参数)
mysqldump -uroot -hlocalhost -p123456 -A -t > /data/mysqlDump/mydb.sql
备份单个数据库的数据和结构(数据库名mydb)
mysqldump -u root -hlocalhost -p123456 mydb > /data/mysqlDump/mydb.sql
备份单个数据库的结构
mysqldump -u root -hlocalhost -p123456 mydb -d > /data/mysqlDump/mydb.sql
备份单个数据库的数据
mysqldump -u root -hlocalhost -p123456 mydb -t > /data/mysqlDump/mydb.sql
备份多个表的数据和结构
mysqldump -uroot -hlocalhost -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql
一次备份多个数据库
mysqldump -u root -hlocalhost -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql
问题一:
如果在导出时报错socket的2002错误,以下是处理方法
使用命令netstat -ln | grep mysql 查找到mysql.sock文件的路径
![](https://i-blog.csdnimg.cn/blog_migrate/9aa8c2a54d65e2cd3f1235bea98c9ae8.png)
再运行dump命令,在运行是携带上socket的具体路径即可,如下所示
mysqldump --socket=/usr/local/mysql/mysql.sock -uroot -hlocalhost -p***** 库名 > xxdatabses.sql
问题二:
在8.0版本的mysql中通过mysqldump备份数据库时报错
mysqldump: [Warning] Using a password on the command line interface can be insecure
原因在于,mysql5.7版本开始,考虑到mysql的安全性而更改的保护机制,在mysqldump备份数据库的时候不能直接在命令行上书写数据库的密码
问题解决
修改mysql的配置文件(linux中在/etc/my.cnf)
[client]
host = localhost
user = root
password = 'root'
使用下面配置也可以
[mysqldump]
user=root
password="mima"
最后重启mysql即可