背景
需要搞mysql数据同步,从一台服务器把数据库同步到另外一台服务器上,如果折腾过的话,就知道有个这玩意--mysqldump,其实就是mysql自带的一个命令而已
操作步骤
1. 认识mysqldump
一般都是mysql安装目录/bin/下,命令也简单可以通过mysqldump --help 查看下
2. 导出sql
/mysql/bin/mysqldump -u${username} -p${password} -h ${host} -P ${port} --quick -d ${database_name} --skip-lock-tables > ${database_name}.sql
将${}替换成需要的值
上面语句的意思就是讲database_name 这个库导出成 database_name.sql
而且由于加了-d只导出表结构
3. 导入sql
/mysql/bin/mysql -u${username} -p${password} --database ${database_name} < ${database_name}.sql
将${}替换成需要的值
4. 思考,很多库需要处理的时候呢
写成脚本的形式,思路如下:
- 将需要导出的库的库名整理在一个txt文件中,每一行为一个库;
- 通过遍历1中的文件,然后逐个执行导出sql的命令;
- 然后又通过遍历1中的txt文件,逐个执行导入sql的命令;
具体脚本如下:
题外话
其实很多sql可视化工具都支持导出导入功能的,哈哈哈,其实也挺好用的,只是可能处理大量数据的时候不方便,使用什么效率最高肯定使用是什么,当然前提是你脚本也要会,不是吗?