1.备份
mysql数据库自带备份工具(逻辑备份)
语法:mysqldump -u用户名 -p -B 数据库名>备份文件名.sql --compact //参数,适合调试查看。去注释 -B //多库备份,在数据库名后加空格接另一个数据库名,(保留库名) -F //刷新binlog日志,分割mysqlbinlog --master-data=1 //显示binlog 开始位置,类似-F ,执行 --master-data=2 // 显示文件名,位置点,便于恢复。 注释 -x //锁表 -l //只读锁表 -t //只备份数据 --single-transaction //适合innodb事务数据备份
.
[root@A-host ~]# mysqldump -uroot -p123456 -S /data/3306/mysql.sock d3306>/opt/d3306.sql [root@A-host ~]# grep -Ev "#|\*|--|^$|\/*" /opt/d3306.sql [root@A-host ~]# mysqldump -uroot -p123456 -B d3306>/opt/d3306_B.sql 一般需要加-B,保留数据库的名称 [root@A-host ~]# grep -Ev "#|\*|--|^$|\/*" /opt/d3306_B.sql [root@A-host ~]# mysqldump -uroot -p123456 -A -B --events |gzip>/opt/d3306_yasuo.sql.gz //备份并压缩
备份单个表
语法:mysqldump -u用户名 -p 数据库名 库表>备份文件名.sql
备份表结构
语法:mysqldump -u用户名 -p -d 数据库名 库表>备份文件名.sql
只备份数据
语法:mysqldump -u用户名 -p -t 数据库名 库表>备份文件名.sql
备份全部数据库
语法:mysqldump -u用户名 -p -A -B>备份文件名.sql
备份整库并分割Binlog数据库
语法:mysqldump -u用户名 -p -A -B -F>备份文件名.sql [root@A-host ~]# mysqldump -uroot -p123456 -A -B -F --events |gzip >/opt/d3306_yasuo.sql.gz //备份并压缩
生产场景
MyISAM引擎备份命令:
mysqldump -uroot -p123456 -A -B -F --master-data=2 -x --events|gzip>/opt/d3306_yasuo.sql.gz
Innodb引擎备份命令:
mysqldump -uroot -p123456 -A -B -F --master-data=2 --events --single-transaction|gzip>/opt/d3306_yasuo.sql.gz
2.恢复
语法:mysql -u用户名 -p 数据库名<备份文件名.sql
方法1:
[root@A-host ~]# mysql -uroot -p123456 d3306</opt/d3306.sql #加-B导出的数据,无需再指定d3306数据库名
方法2:
登录进入数据库
mysql>source /opt/d3306.sql
方法3:
mysqlbinlog增量恢复
(前提:my.conf 必须打开log-bin=mysql-bin)
binlog日志用来记录mysql内部增删改查等对mysql有更新的内容的记录。
[root@A-host ~]# mysqlbinlog --hlep [root@A-host ~]# mysqlbinlog /data/3306/mysql-bin.000001 //查看 [root@A-host ~]# mysqlbinlog -d d3306 /data/3306/mysql-bin.000001 >1.txt //查看d3306库日志(拆库)
指定开始位置和结束位置恢复
mysqlbinlog /data/3306/mysql-bin.000001 --start-position=510 --stop-position=1312 -r pos.sql //-r 与> 一致
指定开始和结束时间恢复
mysqlbinlog /data/3306/mysql-bin.000001 --start-datatime='2018-8-20 14:42:54' --stop-datatime='2018-8-20 14:43:54' >time.sql
备份出erp数据库
mysqldump -uerp -p123456 -d erp >/backup/devbak.sql
数据库操作记录
.mysql_history
企业级MySQL分库分表备份策略以及实战操作精讲视频课程
http://edu.51cto.com/course/808.html
停留在世界边缘,与之惜别