以下备份路径都是linux下的
数据库版本5.7以前数据库备份命令:
mysqldump -u用户名 -p密码 数据库名 > 需要存储的路径
示例:
mysqldump -uroot -proot users> /usr/local/mysql/users20210113.sql
数据库备份命令加编码:
mysqldump -u用户名 -p密码 --default-character-set=编码方式 数据库名 > 需要存储的路径
示例:
mysqldump -uroot -proot --default-character-set=utf8 users > /usr/local/mysql/users20210113.sql;
恢复数据库:
source 存储的路径
示例:
source /usr/local/mysql/users20210113.sql
注意:这个恢复数据库是在mysql命令中执行
数据库版本5.7以后数据库备份:
mysql自5.7版本开始,考虑到mysql的安全性而更改对保护机制,在mysqldump备份数据库对时候不能直接在命令行上书写数据库的密码
注意:主要是添加host user password 三个参数,必须填写在[client]模块下,如果my.cnf文件中没有该模块,手动填写一个(必须),然后再下面补充数据库的三个配置信息
my.cnf文件内容:
[client]
host = localhost
user = root
password = 'root'
使用新命令重新备份数据库
mysqldump -defaults-extra-file=配置文件的路径 数据库名 > 需要存储的路径
示例:
mysqldump --defaults-extra-file=/usr/local/mysql/my.cnf users > /usr/local/mysql/users20210113.sql
3)导入/恢复数据库
mysqldump -defaults-extra-file=配置文件的路径 数据库名 > 存储的路径
示例:
mysql --defaults-extra-file=/usr/local/mysql/my.cnf users > /usr/local/mysql/users20210113.sql
注意:恢复数据库时,指定的数据库一定要存在(即users必须要存在),否则无法恢复
从以上新的数据库备份/恢复命令中可以看出,我们新用的命令在执行的时候不再显式输入mysql的用户名和密码了,而是需要加载我们修改后的mysql的配置文件进行数据库的备份与恢复