百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql数据备份与恢复的几种方式
分享文章到:

mysql数据备份与恢复的几种方式

发布时间:01/15 来源: 浏览: 关键词:
mysql数据库备份或恢复我们常用的就是常用有直接拷贝数据库备份,mysqldump数据库备份与mysqlhotcopy数据库备份常用方法,下面我们一起来看看。

mysqldump 命令模式

备份IP为192.168.1.100某个库:

 代码如下

D:/APM/APMServ5.2.6/MySQL5.1/bin>
mysqldump -h 192.168.1.100 -u root -p ucenter >d:/sql/uc_20130306.sql
Enter password: ****

备份某个库下的某个表:

 代码如下

mysqldump -u root -p密码 dbname tablename>d:/test.sql

备份全库:

 代码如下

mysqldump -u root -p密码 –all-databases >d:/test.sql

备份dbname 数据库的结构:
mysqldump -u root -p -d –add-drop-table dbname >d:/sql/a.sql
说明:-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
导入数据库:

 代码如下

D:/APM/APMServ5.2.6/MySQL5.1/bin>
mysql –u root –p [dbname] < backup.sql

参数说明:

Dbname参数表示数据库名称。该参数可选,可以指定数据库名,也可以不指定。指定数据库名时,表示还原该数据库下的表。
不指定数据库名时,表示还原特定的一个数据库

mysqlhotcopy

它直接拷贝文件,所以它比mysqldump快。

可自动完成数据锁定工作,备份时不用关闭服务器。

能刷新日志,使备份文件和日志文件的检查点能保持同步。

备份:mysqlhotcopy 支持一次性拷贝多个数据库,同时还支持正则表达。以下是几个例子:

 代码如下

/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=root -p=root

testdb   /tmp (把数据库目录 testdb 拷贝到 /tmp 下)

/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=root -p=root

testdb_1 testdb_2 testdb_n  /tmp

/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=root -p=root

testdb./regex/  /tmp

 


还原:mysqlhotcopy 备份出来的是整个数据库目录,使用时可以直接拷贝到 mysqld 指定的 datadir (在这里是 /usr/local/mysql/data/)目录下即可,同时要注意权限的问题,如下例:

 代码如下

cp -rf testdb /usr/local/mysql/data/

chown -R nobody:nobody /usr/local/mysql/data/ (将 testdb 目录的属主改成 mysqld 运行用户)

直接复制

windows系统下:直接复制很简单我们先停了mysql数据库,然后再复制出来就可以了

linux系统中:

 ①查找数据库文件存放位置,MySql文件的后缀有三种形式*.MYD、*.MYI、*.frm;

 

 代码如下
   find / -name *.MYD

      ②进入数据库存储文件目录;

 代码如下

    cd /opt/lanmp/mysql-5.1.63/win/data/

    ③使用copy命令把所有数据拷出去;

 代码如下

    copy mysql /home

    ④此时只需将这些数据库文件转换成sql文件,这也是这篇文章里我要讲的重点,如果需要的时候再将sql文件用命令导入即可;

    ⑤新建一个数据库命名为mysqlbak,将刚才拷出来的文件夹拷入新数据库的data文件夹;

 代码如下

    find / -name mysqlbak

    cd /home/mysql
    copy * /www/wdlinux/mysql-5.1.63/var/mysqlbak/

    ⑥此时就已经可以看到新数据库mysqlbak里的数据了,跟原数据库mysql里的数据是一样的;

    ⑦使用命令导出数据库文件即可。

 代码如下

    mysqldump -uroot -p mysqlbak > /home/mysql.sql

    ⑧这home文件夹下的文件mysql.sql文件就是易导入的数据库文件

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有6人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板