mysql 数据库备份,亲测

方法1,sql脚本形式 小数据量时

导出数据库表结构
mysqldump -uroot -pdbpasswd -d db_name >db.sql;
导出数据库中某个表的表结构
mysqldump -uroot -pdbpasswd -d db_name table_name >db.sql;
导出数据库的表结构和表数据
mysqldump -uroot -pdbpasswd db_name >db.sql;
导出数据库中某个表的表结构和表数据

mysqldump -uroot -pdbpasswd db_name table_name >db.sql;

方法2,整个库拷贝

登录后,查看数据库data文件存在目录

show global variables like "%datadir%"
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| datadir       | /home/richmail/var/mysql/ |

+---------------+---------------------------+

在目录下找到要备份的数据库文件夹,打包备份的文件夹和ibdata1文件

例:tar -zcvf mysqlDatabaseTar.tar.gz ibdata1 msp

然后把mysqlDatabaseTar.tar.gz拷贝到目标数据库的data目录,解压覆盖

tar -zxvf mysqlDatabaseTar.tar.gz

然后启动mysql,有可能启动失败

例:
Starting MySQL...................................          [失败]

cat: /home/richmail/var/mysql/192.168.xxx.xxx.pid: 没有那个文件或目录

删除ibdata1 ib_logfile0 ib_logfile1文件可解决

rm -rf ibdata1 ib_logfile0 ib_logfile1

有时报找不到sock,重新初始化数据库可解决
例:
#/usr/local/mysql/bin/mysql_install_db --defaults-file=/etc/init/my.cnf --datadir=/home/richmail/var/mysql/


你可能感兴趣的:(数据库脚本工具)