- 备份整个数据库(整量备份)
mysqldump -h主机名 -P端口 -u用户名 -p密码 --all-databases > 文件名.sql
for example :
mysqldump –h192.168.20.15 –pport –Uroot –ppassword –all-databases > 文件名.sql - 备份指定数据库
mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名(空格隔开,可以多个) > 文件名.sql - 备份压缩
mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 | gzip > 文件名.sql.gz - 备份某表(表以空格隔开)
mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 表1 表2 … > 文件名.sql
5.导出某库中某表中指定数据
mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 表 where “name=’lucky’”=> 文件名.sql - 只备份数据,不备份结构
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 - 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;
再查看状态的时候,发现事件调度器是开启状态