mysql怎麼複製資料庫?或者說,將資料庫拷貝到另外一台機?
依照我的理解,複製資料庫,如果是:
1、直接拷貝資料庫文件,應該先停資料服務,否則拷不出來。但是,生產機器,哪能說停就停呢?
2、線上拷貝,則循備份-還原的路子。
“不是的,mysql可以直接拷貝資料庫文件,無須停服務,俺以前用過”,有個同事說。
哦,有這等好事! mySql果然就是牛。不過我上網搜了下,mysql有innoDB和myISAM兩種模式。如果innoDB的話,在線直接拷貝,有可能會對資料庫檔案造成損壞!我叉。
所以,謹慎起見,還是老實的備份、還原的好。
1、備份
DOS窗口,直接敲入
mysqldump -u root -p test1>c:\temp\dump.txt
提示:要設定path,才能讓系統辨識mysql指令。例如:
1) 設定係統變數MYSQL_HOME=C:Program FilesMySQLMySQL Server 5.7
2)PATH += %MYSQL_HOME%bin;
然後,將dump.txt1名為test1的還原回來。
打開mysql command line client(牛逼,命令行,昨天裝好mysql,我到處找圖形界面,還以為自己裝錯了。其實要圖形UI的話,要裝一個叫mysql banch的東東)
mysql -u root -p mysql>create database test1; mysql>use test1; mysql>source c:\temp\dump.txt #注意后面别带;号
mysqldump -u root -p test1>c:\temp\dump.txt
2)PATH += %MYSQL_HOME%bin;
然後,將dump.txt1名為test1的還原回來。
mysql -u root -p mysql>create database test1; mysql>use test1; mysql>source c:\temp\dump.txt #注意后面别带;号