Linux下MySQL数据库的备份与还原

时间:2021-02-27 10:12:32

昨天对公司数据库进行备份。用了以下的方法
一. 导出
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