mysql數據庫遷移到另一臺電腦上

解決辦法

mysql要轉換到另一臺機器上面,最重要的要考慮以下幾個問題

1、數據庫使用什麼存儲引擎,如果是myisam的話,可以把data目錄複製移走。但如果是innodb的話,千萬不要用這種方法,會存在種種問題的。至於innodb引myisam的區別,百度一下詳細點。

2、本地的操作系統是否引目標操作系統相同,如果是linux與windows之間的轉移,因爲平臺的的不臺,注意大小寫表名字段的兼性。也可以在my.ini或者my.cnf中忽略大小寫。

3、比較安全的做法,還是用mysqlmp的方法導出來,再用mysqlmp的方法導進去,這是一種比較保險安全兼性高的做法,請考慮。
實際操作實例:






 停止兩個數據庫的mysql服務,將A數據庫中的data文件夾拷貝到B數據庫中,B數據庫事先把原有的data文件夾改名備份,然後再重啓B數據庫服務,(注意這時登錄密碼可能是A數據庫的了,需要事先知道A數據庫的密碼,否則遷移完數據庫登錄不進去)

mysql數據庫從一臺服務器遷移到另一臺服務器上

一、應用場景
      由於要把測試服務器上的數據庫遷移到正式服務器上,因此需要做數據庫的遷移。這裏記錄一下。

二、數據庫遷移
1、新建數據庫test

create database test;
1
2、進入數據庫,創建數據表test

create table test1(id int(10) primary key, name varchar(30), age int(10));
1
3、生成.sql文件

(1)這裏生成.sql文件,需要用到mysqldump,如果找到該命令的話,建立一個軟連接到/usr/bin 下。例如,你的mysql 路徑爲:/usr/local/mysql,則執行
ln -fs /usr/local/mysql /usr/bin (PS:這裏不需要進入到mysql執行命令)

(2)執行mysqldump命令

1)爲某個數據庫生成.sql文件

mysqldump -u 用戶名 -p 數據庫>你想要生成.sql文件的路徑

2)只要數據庫的表結構

mysqldump -u 用戶名 -p -d 數據庫>你想要生成.sql文件的路徑

3)生成某個數據庫下面對應某個表的表結構

mysqldump -u 用戶名 -p -d 數據庫名 表名>你想要生成.sql文件的路徑

4)生成某個數據庫下面對應某個表的表結構+表數據

mysqldump -u 用戶名 -p -d 數據庫名>你想要生成.sql文件的路徑

我這裏執行的命令是:

mysqldump -u xx -p pzsh>/home/pzsh/test.sql
1
然後去/home/pzsh下面看看,就會發現已經生成.sql文件了

4、使用ftp工具,把生成的.sql文件放到新服務器上去

(1)使用FTP工具下載.sql文件
(2)使用FTP工具把.sql文件上傳到指定路徑
(3)我這邊是把.sql文件上傳到新服務器的/home/pzsh目錄下

5、導入到服務器

(1)進入到新服務器的mysql中

mysql -u 用戶名 -p

(2)先創建數據庫,按照.sql文件中的數據庫名字。

create database test;

//進入到創建的數據庫中
use test;
//查看當下的數據表
show tables;
//此時數據庫中是沒有任何表的
(3)執行source命令,導入.sql文件




source /home/pzsh/test.sql
(4)查看test數據庫中的表

show tables;

此時發現我們已經把表都轉移過來了。

6、如果兩臺服務器的數據庫版本不兼容,則在root用戶下執行下面的命令

mysql_upgrade -u root -p
1
輸入密碼即可。

end

//*********

導出單個數據庫

mysqldump -u root -p database_name > outfile_name.sql

導出所有數據庫

mysqldump -u root -p --all-databases > outfile_name.sql

導出數據庫表

 

mysqldump -u root -p database_name table_name > outfile_name.sql

導入.sql文件

導入數據庫

    mysql -u root -p 進入mysql  執行source  outfile_name.sql(包含存儲路徑)

    b. 導入數據庫表

    mysql -u root -p 進入mysql 

    mysql>use database_name;

    mysql>source outfile_name.sql(包含存儲路徑)

以上是命令行方式,如果操作系統時windows,可以選擇用mysql客戶端工具,如Sqlyog操作導出數據和導入數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章