背景
需要搞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可視化工具都支持導出導入功能的,哈哈哈,其實也挺好用的,只是可能處理大量數據的時候不方便,使用什么效率最高肯定使用是什么,當然前提是你腳本也要會,不是嗎?