mysql8.0纯命令模式备份还原数据库

作者: 来源:本站原创 点击数: 发布时间:2023年04月24日

1.创建数据库

CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

2.还原数据库

mysql -u username -p 数据库名 < your_sql_file.sql;

username是你的MySQL用户名,your_sql_file.sql是你要还原的.sql文件的路径。

3.备份数据库

mysqldump -u用户名 -p密码 数据库名 | gzip > /data/mysql/20230422.sql.gz;

常见问题:

1.mysql用户密码带符号,例如:密码为Admin666!@#

mysqldump -uroot -pAdmin666!@# hnwzdb > /home/20230424.sql
-bash: !@#: event not found

改为

mysqldump -uroot -pAdmin666\!@# hnwzdb > /home/20230424.sql

2.还原数据库报错@@GLOBAL.GTID_PURGED cannot be changed: the added gtid set must not overlap with @@GLOBAL.GTID_PURGED

原因是导出的sql文件中带GTID即全局事务ID(global transaction identifier)

处理方法:

1.手动删掉SET @@GLOBAL.GTID_PURGED=这一行

2.在目标数据库中执行

mysql> reset slave all;

mysql> reset master;

清空所有 GTID 信息