面對大資料量,大檔案的sql操作,我們需要藉助mysql強大的命令操作:
1. 資料庫匯入命令
| 代碼如下 |
複製代碼 |
mysql -h localhost -u root -p use dbname source backup.sql |
說明:需要使用命令串連上資料庫並選擇相應資料庫才能使用。
2. Database Backup命令
MySQL的匯出命令mysqldump,基本用法是:
| 代碼如下 |
複製代碼 |
| mysqldump [OPTIONS] database [tables] |
說明:不能先串連資料庫,是直接連接資料庫匯出
簡單一實例:
| 代碼如下 |
複製代碼 |
| mysqldump -h localhost -u root -p dbname > backup.sql |
MySQL的mysqldump命令,基本用法是:
mysqldump [OPTIONS] database [tables]說明:
1. 通過執行mysqldump –help,你能得到你mysqldump的版本支援的使用協助資訊。
2.如果連接埠為預設的3306時,可省略 -P {連接埠號碼} 這一項。
3.命令列格式中 { } 中的內容都是變數
主機名稱 : {hostname}
端 口:{port} (一般預設3306,可預設)
使用者名稱:{user} {username} (如root)
密 碼:{password}
資料庫名 :{database}
表 名:{table} {table1} {table2}
檔案名稱:{backup.sql}
.常用操作:
備份MySQL整個資料庫:
| 代碼如下 |
複製代碼 |
mysqldump -h主機名稱 -P連接埠 -u使用者名稱 -p密碼 (–database) 資料庫名 > 檔案名稱.sql mysqldump -h{hostname} -P{port} -u{username} -p{password} {database} > {backup.sql} |
說明:參數及值可以分開如-P3306可以寫成-P 3306,密碼可以先不填寫,以確保安全。
MySQL資料庫壓縮備份:
| 代碼如下 |
複製代碼 |
| mysqldump -h{hostname} -u{username} -p{password} {database} | gzip > {backup.sql.gz} |
備份MySQL資料庫某個(些)表:
mysqldump -h主機名稱 -P連接埠 -u使用者名稱 -p密碼 (–tables | –quick) 資料庫名 表名1 (表名2 …) > 檔案名稱.sql (括弧中的可預設)。
#執行個體:
| 代碼如下 |
複製代碼 |
| mysqldump -u root -p myadmindb admin_group admin_group_right admin_logs admin_user_right admin_users > tmp.sql |
同時備份多個MySQL資料庫:
| 代碼如下 |
複製代碼 |
| mysqldump -h{hostname} -P{port} -u{username} -p{password} –databases {database1} {database2} {database3} > multibackfile.sql |
還原MySQL資料庫的命令:
| 代碼如下 |
複製代碼 |
| mysql -h{hostname} -u{username} -p{password} {database} < {backup.sql} |
還原壓縮的MySQL資料庫:
| 代碼如下 |
複製代碼 |
| gunzip < {backup.sql.gz} | mysql –u{username} –p{password} {database} |
將資料庫轉移到新伺服器:
| 代碼如下 |
複製代碼 |
mysqldump –u{username} –p{password} {database} | mysql –host={hostname} –C {database} |