昨天对公司数据库进行备份。用了以下的方法
一. 导出
1、导出数据和表结构:
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
如果要导出数据库全部:
mysqldump -uroot -p123456 --all-databases > all-$DAY.sql
2 、导出单个表
mysqldump -u用户名 -p密码 数据库名 表名 > 生成文件名.sql
3、只导出表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
mysqldump -uroot -p -d haier > haier.sql
2. 还原
1:
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。
2 :
如果出现错误或者不能导入,那么进入数据库中
用source /home/voice.sql 直接导入
其他错误:
mysqldump: Got error: 1016 when using LOCK TABLES
hitidea是一个有很多数据表的数据库(Wordpress MU),搜索了一下,发现只要在mysqldump的时候加上–lock-tables=false就可以解决问题。
mysqldump -uroot -p123456 sq_mvclub --lock-tables=false > /home/bak/35.sql