之前一直使用的navicat的自動的備份功能。但是在使用navicat的還原功能時,賊慢。
今天要做的是window服務器上將mysql單個數據庫備份。然后還原到我的mac筆記本上。
本來以為很快的,中間遇到來一些小坑,搞了很久。
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. 還原 下載到本地,解壓縮還原。
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.
3. 安裝 mysql安裝教程很多,這里說下window下一個最便捷的安裝方式。
首先下載那種直接解壓縮版本的,下載地址如下,之前我用的大部分是5.5或者5.6版本:
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