mysqldump命令备份数据库数据

#MySQLdump常用
mysqldump -u root -p --databases 数据库1 数据库2 > xxx.sql
  1. 备份全部数据库的数据和结构

mysqldump -u root -hlocalhost -p123456 -A > /data/mysqlDump/mydb.sql
  1. 备份全部数据库的结构(加-d参数)

mysqldump -u root -hlocalhost -p123456 -A -d > /data/mysqlDump/mydb.sql
  1. 备份全部数据库的数据(加-t参数)

mysqldump -uroot -hlocalhost -p123456 -A -t > /data/mysqlDump/mydb.sql
  1. 备份单个数据库的数据和结构(数据库名mydb)

mysqldump -u root -hlocalhost -p123456 mydb > /data/mysqlDump/mydb.sql
  1. 备份单个数据库的结构

mysqldump -u root -hlocalhost -p123456 mydb -d > /data/mysqlDump/mydb.sql
  1. 备份单个数据库的数据

mysqldump -u root -hlocalhost -p123456 mydb -t > /data/mysqlDump/mydb.sql
  1. 备份多个表的数据和结构

mysqldump -uroot -hlocalhost -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql
  1. 一次备份多个数据库

mysqldump -u root -hlocalhost -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql

问题一:

如果在导出时报错socket的2002错误,以下是处理方法

使用命令netstat -ln | grep mysql 查找到mysql.sock文件的路径

再运行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备份数据库的时候不能直接在命令行上书写数据库的密码

问题解决

  1. 修改mysql的配置文件(linux中在/etc/my.cnf)

[client]
host = localhost
user = root
password = 'root'
  1. 使用下面配置也可以

[mysqldump]

user=root
password="mima"

最后重启mysql即可

你可能感兴趣的:(linux,数据库)