以前一直使用的navicat的自動的備份功能。可是在使用navicat的還原功能時,賊慢。html
今天要作的是window服務器上將mysql單個數據庫備份。而後還原到個人mac筆記本上。mysql
原本覺得很快的,中間遇到來一些小坑,搞了好久。sql
1. 備份,從window服務器使用mysqldump命令來備份,因爲後面還要下載到本地,因此備份同時要進行壓縮,否則數據量很大,呆會下載要好久。數據庫
D:\tool\mysql\bin\mysqldump.exe -uusername -ppassword dbname --default-character-set=UTF8| gzip >d:\backup\dbname_%date:~0,4%%date:~5,2%%date:~8,2%.gz
上面的gzip命令,須要本身先在服務器安裝上gzip的window版本。而後在環境變量中添加bin目錄到path路徑下。服務器
最後 > 後面是備份到的目錄和文件名,文件名根據日期自動命名。這裏最好指定導出時的字符集,否則中文會出現亂碼狀況。測試
2. 還原 下載到本地,解壓縮還原。ui
mysql -h192.168.0.101 -uusername -p"password" --default-character-set=utf8 -f dbname < dbname_20190601.gz
這裏我在mac上開來一個虛機window,而後連接到mac上的mysql,因此192.168.0.101是我mac的ip地址,一樣指定字符集utf8.spa
3. 安裝 mysql安裝教程不少,這裏說下window下一個最便捷的安裝方式。code
首先下載那種直接解壓縮版本的,下載地址以下,以前我用的大部分是5.5或者5.6版本:server
https://dev.mysql.com/downloads/mysql/5.5.html#downloads
解壓縮到d:\tool\目錄下,文件夾命名爲mysql。
而後將如下三個腳本拷貝到目錄,便可完成一鍵安裝(雙擊setup&start.bat),卸載(雙擊stop&remove.bat)。在其餘電腦上安裝時,下好包直接拷貝腳本過去便可。
1) 配置文件:my.ini
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [client] [mysql] default-character-set="utf8" [mysqld] character_set_server="utf8" # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. #設置mysql的安裝目錄 basedir=d:/tool/mysql #設置mysql數據庫的存放目錄 datadir=d:/tool/mysql/data #綁定IPV4和3306端口 port=3306 # server_id = ..... #容許最大鏈接數 max_connections=200 # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #default-storage-engine=MYISAM default-storage-engine=INNODB #定義事務隔離級別 #可選參數有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE. transaction-isolation = REPEATABLE-READ #臨時增長,測試早上是否還存在斷開的狀況,解決mysql8小時無鏈接自動關閉的狀況 interactive_timeout=28800000 wait_timeout=28800000
2)安裝和啓動腳本 setup&start.bat
cd d: cd d:\tool\mysql\bin\ mysqld --install mysql --defaults-file="D:\tool\mysql\my.ini" net start mysql pause
3)中止服務和卸載腳本 stop&remove.bat
cd d: cd d:\tool\mysql\bin\ net stop mysql mysqld remove pause