记录一次mysqldump全量备份和相关问题解决

  1. 备份整个数据库(整量备份)
    mysqldump -h主机名 -P端口 -u用户名 -p密码 --all-databases > 文件名.sql
    for example :
    mysqldump –h192.168.20.15 –pport –Uroot –ppassword –all-databases > 文件名.sql
  2. 备份指定数据库
    mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名(空格隔开,可以多个) > 文件名.sql
  3. 备份压缩
    mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 | gzip > 文件名.sql.gz
  4. 备份某表(表以空格隔开)
    mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 表1 表2 … > 文件名.sql
    5.导出某库中某表中指定数据
    mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 表 where “name=’lucky’”=> 文件名.sql
  5. 只备份数据,不备份结构
    mysqldump -uroot -p -c --replace --no-create-info --default-character-set=utf8 --skip-add-drop-table --hex-blob --set-gtid-purged=OFF management > d:/beifen.sql
  6. mysqldump一些参数的使用
    –replace 使用replace into代替inset into
    –skip-add-drop-table 取消drop语句
    –no-create-info 只导出数据,不添加create table
    –set-gtid-purged=OFF(在会记录binlog日志,如果不加,不记录binlog日志,所以在我们做主从用了gtid时,用mysqldump备份时就要加–set-gtid-purged=OFF,否则你在主上导入恢复了数据,主没有了binlog日志,同步则不会被同步。)
    –hex-blob 使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用该选项

可参考链接:https://blog.csdn.net/stephenxu111/article/details/9310715

迁移数据库服务器遇到的问题:
1.若整个数据库中存在二进制数据,导出数据的时候,需要将数据转换为16进制,不然导入数据的时候,会出现一大堆的报错

2.导入新的数据库,数据库服务器里面的数据库的函数不能使用,需要使用mysql_upgrade -uroot -p,填写密码后生效下

3.导入新的数据库后,时间不生效,需要开启事件触发器
要查看当前是否已开启事件调度器,可执行如下SQL:SHOW VARIABLES LIKE ‘event_scheduler’;

若是OFF状态,则需要开启,执行sql:SET GLOBAL event_scheduler = 1;

再查看状态的时候,发现事件调度器是开启状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值