首页 > 代码库 > mysql备份与恢复
mysql备份与恢复
1、备份单个数据库
mysql数据库自带了一个很好用的备份命令,就是mysqldump,他的基本使用如下:
语法:mysqldump -u 用户名 -p 数据库名 > 备份的文件名
备份一 1、备份:mysqldump -uroot -p‘*****‘ test >/opt/test_bak.sql 2、查看备份数据的内容 egrep -v "#|\*|--|^$" /opt/test_bak.sql 3、为了方便测试可以考虑将原来的表删除:mysql -uroot -p‘*****‘ -e "use test;dorp table test;" 4、恢复:mysql -uroot -p‘*****‘ test </opt/test_bak.sql 5、查看恢复的数据 mysql -uroot -p‘*****‘ -e "select * from test;" 备份二 1、备份:mysqldump -uroot -p‘*****‘ -B test >/opt/test_bak.sql 加了-B之后作用,增加了创建数据库和连接数据库的命令,加了比较好,-B可以指定多个库备份 2、恢复:mysql -uroot -p‘*****‘ </opt/test_bak.sql 备份三 1、备份:mysqldump -uroot -p‘*****‘ -B test|gzip >/opt/test_bak.sql.gz 压缩备份 备份四 1、备份:mysqldump -uroot -p‘*****‘ -B test1 test2 |gzip >/opt/test_bak.sql 备份多个库
分库备份:
有时一个企业的数据库里会有多个库,但是出问题的时候很可能是某一个库,如果在备份时把所有的库都备份成了一个数据文件的话,恢复某一个库的数据时就比较麻烦了,所有-B是备份到一个数据文件里面的。
2、备份表
语法:mysqldump -u用户名 -p密码 数据库名 表名1 表2>备份的文件名 后面可以加若干个表
分表备份: 每个表单独备份,而不是所有统一备份 备份表结构: mysqldump -u用户名 -p密码 -d 数据库 表 >备份文件 备份数据: mysqldump -u用户名 -p密码 -t 数据库 表 >备份文件
备份整个数据库,所有的东西 mysqldump -u用户名 -p密码 -A -B --events|gzip >文件 -A是所有的东西
3、插曲
启用bin-log时,需要在配置文件里面开启 -F刷新bin-log,切割bin-log,不恢复老数据,恢复新数据 --master-data=http://www.mamicode.com/1 找到bin-log的位置,与-F的功能是一样的 =2的时候会加上注释>
4、一个完整的备份过程
myisam引擎:mysqldump -uroot -p123 -A -B --master-data=http://www.mamicode.com/2 -F -x --events|gzip >/opt/test.sql.gz>
5、恢复
1、source 恢复 进入mysql source /opt/13123.sql 2、标准的恢复命令mysql mysql -uroot -p123 oldboy < /opt/13123.sql 压缩了的需要先解压 gzip -d mysql.sql.gz -d就是将文件保存为当前的名字,去掉gz
mysql备份与恢复
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。