在新服務(wù)器安裝好環(huán)境和做好安全,然后遷移數(shù)據(jù)過(guò)去就可以了。

你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺(jué)設(shè)計(jì)專(zhuān)才。
如果不會(huì),可以在阿里云云市場(chǎng)購(gòu)買(mǎi)網(wǎng)站遷移服務(wù)。
于項(xiàng)目升級(jí)或者服務(wù)器更換,需要將數(shù)據(jù)從一個(gè)數(shù)據(jù)庫(kù)服務(wù)轉(zhuǎn)移到另一個(gè)數(shù)據(jù)庫(kù)服務(wù)中。兩個(gè)數(shù)據(jù)庫(kù)所在的服務(wù)器的公網(wǎng)IP分別為x.x.x.x和y.y.y.y。
進(jìn)行MySQL數(shù)據(jù)遷移之前,需要做一些準(zhǔn)備工作,即兩臺(tái)服務(wù)器上配置相同環(huán)境。需要在公網(wǎng)IP分別為x.x.x.x和y.y.y.y的服務(wù)器上都安裝mysql-5.7.37。
準(zhǔn)備工作
第一步,下載mysql-5.7.37。
第二步,配置mysql。
第三步,安裝mysql-5.7.37。
第四步,遠(yuǎn)程連接另一臺(tái)服務(wù)器上的mysql。
第五步,不進(jìn)入mysql根目錄即可進(jìn)行相應(yīng)的操作。
MySQL數(shù)據(jù)遷移常用方法
MySQL數(shù)據(jù)遷移一般可分為物理遷移和邏輯遷移。
物理遷移適用于海量數(shù)據(jù)整體遷移,可以直接復(fù)制數(shù)據(jù)文件或使用navicat來(lái)進(jìn)行備份遷移。不同的服務(wù)器之間采用物理遷移需要將兩臺(tái)服務(wù)器中的MySQL server保持完全一樣的版本、配置和權(quán)限。這種物理遷移優(yōu)點(diǎn)是速度快,缺點(diǎn)是要求新服務(wù)器與原服務(wù)器配置完全一致,即便如此也有可能引起一些未知錯(cuò)誤。
如果規(guī)模較小,業(yè)務(wù)也并不繁忙,推薦使用mysqldump即邏輯遷移法,它相對(duì)來(lái)說(shuō)更輕巧、穩(wěn)健一些。mysqldump的原理是在導(dǎo)入到新數(shù)據(jù)庫(kù)時(shí),先將原數(shù)據(jù)庫(kù)表結(jié)構(gòu)使用CREATE TABLE 'table'語(yǔ)句創(chuàng)建,然后在使用INSERT將原數(shù)據(jù)導(dǎo)入至新表中。可以理解為一個(gè)批量導(dǎo)入腳本。這樣按照規(guī)范命令導(dǎo)入數(shù)據(jù),大幅減少奇怪的未知錯(cuò)誤出現(xiàn)。
第一種方案:物理遷移-使用navicat
第一步,下載并安裝Navicat。
到網(wǎng)址下載需要的Navicat軟件,之后在Windows系統(tǒng)中安裝。安裝成功后,然后進(jìn)行數(shù)據(jù)庫(kù)連接。
第二步,選擇要導(dǎo)出的數(shù)據(jù)庫(kù)ZJZK2022,格式為.sql。
具體操作:選中ZJZK2022,然后右鍵:轉(zhuǎn)儲(chǔ)SQL - 結(jié)構(gòu)+數(shù)據(jù) - 選擇路徑。得到需要的.sql文件。
第三步,將.sql文件導(dǎo)入新服務(wù)器數(shù)據(jù)庫(kù)中。
如果根據(jù)已有的SQL文件執(zhí)行數(shù)據(jù)導(dǎo)入,那么可以直接在打開(kāi)一個(gè)數(shù)據(jù)庫(kù)后,新建一個(gè)查詢(xún)窗口,然后將sql文件中的內(nèi)容粘貼到窗口中執(zhí)行即可,這種方式同時(shí)適用于單表數(shù)據(jù)導(dǎo)入與數(shù)據(jù)庫(kù)整體導(dǎo)入。
如果想要進(jìn)行整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)導(dǎo)入,也可以直接選中新服務(wù)器IP,右鍵:運(yùn)行SQL。然后選擇之前導(dǎo)出的數(shù)據(jù)庫(kù)sql文件,最后點(diǎn)擊“開(kāi)始”。可以得到與之前服務(wù)器數(shù)據(jù)庫(kù)中相同的數(shù)據(jù)。
第二種方案:邏輯遷移-使用mysqldump
登錄遠(yuǎn)程服務(wù)器,在服務(wù)器中導(dǎo)出數(shù)據(jù)庫(kù)
第一步,登錄公網(wǎng)IP為x.x.x.x的阿里云ECS服務(wù)器。
第二步,將需要遷移的原數(shù)據(jù)庫(kù)ZJZK2022中的數(shù)據(jù)導(dǎo)出,生成*.sql文件。
命令:service mysql start
/mnt/mysql/mysql-5.7.37/bin/mysqldump -u root -p --opt ZJZK2022 /tmp/ZJZK2022-data-export.sql
然后輸入登錄密碼“123456”。
執(zhí)行mysqldump命令后,若沒(méi)有報(bào)錯(cuò),則shel不會(huì)有任何結(jié)果顯示。
注釋?zhuān)篫JZK2022——本次準(zhǔn)備遷移的數(shù)據(jù)庫(kù);
/tmp/ZJZK2022-data-export.sql——導(dǎo)出時(shí)生成的數(shù)據(jù)文件存放的位置與文件名;
--opt——此命令參數(shù)開(kāi)啟代表著同時(shí)激活了quick、add-drop-table、add-locks、extended-insert和lock-tables 參數(shù);
quick——忽略緩存,直接將數(shù)據(jù)導(dǎo)出到*.sql文件中;
add-drop-table——在每個(gè)CREATE TABEL命令之前增加DROP-TABLE IF EXISTS語(yǔ)句,防止數(shù)據(jù)表重名;
add-locks——在備份數(shù)據(jù)表前后添加表鎖定與解鎖 SQL 語(yǔ)句;
extended-insert——此參數(shù)表示可以多行插入,提高導(dǎo)入效率,開(kāi)啟與否導(dǎo)入效率相差數(shù)倍,推薦開(kāi)啟。
第三步,進(jìn)入導(dǎo)出目錄查看導(dǎo)出結(jié)果。
命令:cd /tmp
ls
若結(jié)果顯示ZJZK2022-data-export.sql,則說(shuō)明文件已經(jīng)生成。
無(wú)服務(wù)器,獨(dú)立MySQL數(shù)據(jù)庫(kù)遠(yuǎn)程導(dǎo)出至本地計(jì)算機(jī)
如果在阿里云購(gòu)買(mǎi)的不是一臺(tái)服務(wù)器,而是一個(gè)獨(dú)立MySQL數(shù)據(jù)庫(kù)的話,那也可以將數(shù)據(jù)庫(kù)導(dǎo)出至本地計(jì)算機(jī)。
命令:service mysql start
/mnt/mysql/mysql-5.7.37/bin/mysqldump -h y.y.y.y -u ZJZK2022-remote -p -P3306 --default-character-set=utf8 --set-gtid-purged=OFF --column-statistics=0 ZJZK2022 /Desktop/ZJZK2022-data-export.sql
注釋?zhuān)簓.y.y.y——遠(yuǎn)程數(shù)據(jù)庫(kù)ip地址;
ZJZK2022-remote——擁有遠(yuǎn)程訪問(wèn)權(quán)限的數(shù)據(jù)庫(kù)賬號(hào);
-P 3306——數(shù)據(jù)庫(kù)訪問(wèn)端口,可根據(jù)自己情況修改;
default-character-set=utf8——導(dǎo)出時(shí)指定字符集;
set-gtid-purged=OFF——全局事務(wù) ID (GTID) 來(lái)強(qiáng)化數(shù)據(jù)庫(kù)的主備一致性,故障恢復(fù),以及容錯(cuò)能力。開(kāi)啟這個(gè)功能導(dǎo)入導(dǎo)出時(shí),可能會(huì)出錯(cuò),故關(guān)閉;
/Desktop/ZJZK2022-data-export.sql——本地計(jì)算機(jī)保存路徑及保存文件名。
提示:mysqldump常見(jiàn)報(bào)錯(cuò):mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"')
可在命令中添加column-statistics=0參數(shù)。因MySQL數(shù)據(jù)庫(kù)早期版本information_schema數(shù)據(jù)庫(kù)中沒(méi)有名為COLUMN_STATISTICS的數(shù)據(jù)表,新版mysqldump默認(rèn)啟用,我們可以通過(guò)此命令禁用它。
執(zhí)行命令后,若沒(méi)有報(bào)錯(cuò),則shel不會(huì)有任何結(jié)果顯示,但已經(jīng)可以在桌面上看到導(dǎo)出后生成的文件。
復(fù)制 *.sql 至新數(shù)據(jù)庫(kù)/新服務(wù)器
使用WinSCP將導(dǎo)出的*.sql文件傳送到內(nèi)網(wǎng)IP為y1.y1.y1.y1的新服務(wù)器對(duì)應(yīng)的路徑中。
命令:scp /tmp/ZJZK2022-data-export.sql root@y1.y1.y1.y1:/tmp/
輸入連接root@y1.y1.y1.y1的密碼“654321”。
若結(jié)果顯示“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED”,則說(shuō)明出現(xiàn)錯(cuò)誤。可以使用命令“ssh-keygen -R y1.y1.y1.y1”,然后重新嘗試連接,輸入yes,按下回車(chē),成功連接。
若結(jié)果顯示“ZJZK2022.sql 100% 7191 2.6MB/s 00:00”,則說(shuō)明數(shù)據(jù)傳送成功。
如果購(gòu)買(mǎi)的是獨(dú)立MySQL數(shù)據(jù)庫(kù)的話,也可以直接在阿里云服務(wù)器中直接向新服務(wù)器MySQL數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)。
導(dǎo)入數(shù)據(jù)庫(kù)
方法一:本地?cái)?shù)據(jù)庫(kù)*.sql文件導(dǎo)入
第一步,當(dāng)數(shù)據(jù)傳輸?shù)焦W(wǎng)IP為y.y.y.y的服務(wù)器后,可以在此服務(wù)器上新建一個(gè)名為ZJZK2022_new數(shù)據(jù)庫(kù),然后使用mysql命令直接導(dǎo)入數(shù)據(jù)庫(kù)。
要將*.sql導(dǎo)入到數(shù)據(jù)庫(kù)中,首先以root或有足夠權(quán)限的賬號(hào)登錄MySQL。
命令:service mysql start
cd /mnt/mysql/mysql-5.7.37/bin
./mysql -u root -p
然后輸入登錄密碼“123456”,就可以進(jìn)入MySQL shell狀態(tài)。
接著創(chuàng)建一個(gè)名為ZJZK2022_new的新數(shù)據(jù)庫(kù)。
命令:mysql CREATE DATABASE ZJZK2022_new;
若執(zhí)行命令后返回內(nèi)容顯示“Query OK, 1 row affected (0.00 sec)”,則說(shuō)明新數(shù)據(jù)庫(kù)創(chuàng)建成功。
然后使用“CTRL+D”退出MySQL shell。
最后導(dǎo)入數(shù)據(jù)庫(kù)文件/tmp/ZJZK2022-data-export.sql。
命令:/mnt/mysql/mysql-5.7.37/bin/mysql -u root -p ZJZK2022_new /tmp/ZJZK2022-data-export.sql
若運(yùn)行成功,則命令行不會(huì)有任何提示。
若運(yùn)行失敗,則命令行會(huì)提示失敗原因。
注釋?zhuān)簉oot——可以登錄數(shù)據(jù)庫(kù)的用戶(hù)名;
ZJZK2022_new——?jiǎng)倓傂陆ǖ目諗?shù)據(jù)庫(kù),數(shù)據(jù)會(huì)導(dǎo)入到該數(shù)據(jù)庫(kù)中;
/tmp/ZJZK2022-data-export.sql——之前導(dǎo)出的sql文件,把它再導(dǎo)入到新數(shù)據(jù)庫(kù)中。
第二步,要檢測(cè)是否導(dǎo)入成功,可以登錄到MySQL查看并檢查數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
命令:cd /mnt/mysql/mysql-5.7.37/bin
./mysql -u root -p
然后輸入登錄密碼“123456”,就可以進(jìn)入MySQL shell狀態(tài)。
# 選擇剛剛導(dǎo)入數(shù)據(jù)的新建數(shù)據(jù)庫(kù)
mysql USE ZJZK2022_new;
# 查看數(shù)據(jù)庫(kù)中包含的表
mysql SHOW TABLES;
# 打開(kāi)表查看內(nèi)容
mysql SELECT * FROM users;
若結(jié)果顯示的內(nèi)容與公網(wǎng)IP為x.x.x.x的服務(wù)器中的數(shù)據(jù)庫(kù)的內(nèi)容一致,則說(shuō)明mysql數(shù)據(jù)遷移成功。
方法二:在阿里云服務(wù)器中,直接遠(yuǎn)程將數(shù)據(jù)導(dǎo)入至新服務(wù)器
如果購(gòu)買(mǎi)的是獨(dú)立數(shù)據(jù)庫(kù)的話,那么就沒(méi)辦法先把*.sql存過(guò)去,再導(dǎo)入。所以我們可以直接在阿里云服務(wù)器上發(fā)起導(dǎo)入操作,直接導(dǎo)入至新服務(wù)器。
命令:/mnt/mysql/mysql-5.7.37/bin/mysql -h ZJZK2022_new -u root -p -P10010 ZJZK2022_new /tmp/ZJZK2022-data-export.sql
注釋?zhuān)篫JZK2022_new——新服務(wù)器MySQL數(shù)據(jù)庫(kù)地址;
-P——數(shù)據(jù)庫(kù)端口。
數(shù)據(jù)導(dǎo)入至新服務(wù)器MySQL,命令執(zhí)行成功后,并不會(huì)有任何提示。登錄新服務(wù)器數(shù)據(jù)庫(kù)可以看到遷移結(jié)果。
遠(yuǎn)程登錄新服務(wù)器MySQL,查看導(dǎo)入情況。
公網(wǎng)IP分別為x.x.x.x和y.y.y.y的服務(wù)器都已經(jīng)安裝好了mysql數(shù)據(jù)庫(kù)。
忘記MySQL的登錄密碼,通過(guò)重置密碼解決
命令:cd /mnt/mysql/mysql-5.7.37/bin
./mysql -u root -p123456
若結(jié)果顯示“ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)”,則說(shuō)明mysql的root用戶(hù)密碼錯(cuò)誤,需要重置密碼,然后用新密碼重新登錄數(shù)據(jù)庫(kù)。具體做法如下:
1)停止mysql數(shù)據(jù)庫(kù)。
命令:service mysql stop
2)新建文件夾/usr/local/mysql/data。
命令:mkdir -p /usr/local/mysql/data
3)啟動(dòng)mysql,并以不檢查權(quán)限的情況下啟動(dòng)。
命令:mysqld --skip-grant-tables
mysqld --user=root --skip-grant-tables
4)登錄mysql,修改密碼,刷新權(quán)限。
命令:mysql -uroot
mysql UPDATE mysql.user SET Password=PASSWORD('123456') where USER='root';
mysql flush privileges;
mysql exit
5)重啟之后輸入“mysql -uroot -p123456”即可進(jìn)入mysql。
不進(jìn)入mysql根目錄即可進(jìn)行相應(yīng)的操作
第一步,在兩臺(tái)服務(wù)器上都配置環(huán)境變量。
在文件/etc/profile中添加下面的代碼:
export PATH=$PATH:/mnt/mysql/mysql-5.7.37/bin
# 使profile文件生效
命令:source /etc/profile
# 導(dǎo)出數(shù)據(jù)
mysqldump -u root -p --opt ZJZK2022 /tmp/ZJZK2022-data-export.sql
# 導(dǎo)入數(shù)據(jù)
mysql -uroot -p123456
mysql -u root -p ZJZK2022_new /tmp/ZJZK2022-data-export.sql
mysql -h ZJZK2022_new -u root -p -P10010 ZJZK2022_new /tmp/ZJZK2022-data-export.sql
第二步,在公網(wǎng)IP為y.y.y.y的服務(wù)器中將需要遷移的原數(shù)據(jù)庫(kù)ZJZK2022中數(shù)據(jù)導(dǎo)出,生成*.sql文件,生成的文件仍在本服務(wù)器中。
1)可以在文件夾/mnt/mysql中創(chuàng)建一個(gè)名為mysql_export的腳本。
腳本代碼如下:
# 執(zhí)行MySQL命令 #!/bin/bash export MYSQL_PWD='123456' /mnt/mysql/mysql-5.7.37/bin/mysqldump -u root -p --opt ZJZK2022 /tmp/ZJZK2022-data-export.sql
2)把啟動(dòng)腳本放到開(kāi)機(jī)初始化目錄
命令:cp /mnt/mysql/mysql_export /etc/init.d/mysql_export
#賦予可執(zhí)行權(quán)限
命令:chmod +x /etc/init.d/mysql_export
#添加服務(wù)
命令:chkconfig --add mysql_export
#啟動(dòng)mysql_sign服務(wù)
命令:service mysql_export start
展開(kāi)閱讀全文
你好,大的步驟有以下三個(gè):
購(gòu)買(mǎi)或搭建新的服務(wù)器;
將老網(wǎng)站的服務(wù)器部署的web應(yīng)用拷貝到新的服務(wù)器上,當(dāng)然拷貝之前需要按轉(zhuǎn)好一些必備軟件的
域名解析指向新的服務(wù)器
針對(duì)第二步,你需要了解清楚,你的網(wǎng)站用的什么應(yīng)用服務(wù)器(比如tomcat,weblogic等),你的項(xiàng)目是是什么語(yǔ)言開(kāi)發(fā)(比如java,php等)的,你的數(shù)據(jù)庫(kù)安裝在哪里(如果有單獨(dú)得數(shù)據(jù)庫(kù)服務(wù)器,則可以不用考慮),確定好這些 你需要在新服務(wù)器上安裝相應(yīng)的軟件環(huán)境,比如如果是java語(yǔ)言開(kāi)發(fā)的項(xiàng)目 必須得有jdk環(huán)境,這些東西,建議你找一個(gè)有部署經(jīng)驗(yàn)得開(kāi)發(fā)者來(lái)協(xié)助你實(shí)現(xiàn)。
如果是阿里云服務(wù)器之間的切換,你可以通過(guò)阿里云ECS中的好像叫拷貝什么的(忘了什么名詞了)將你老服務(wù)器上的所有東西都弄到新的服務(wù)器上,你只需做的就是第三步。
祝你好運(yùn)
把源碼備份拷貝到新服務(wù)器,之后直接按照原來(lái)的服務(wù)器目錄布置站點(diǎn)就行了,
網(wǎng)頁(yè)題目:阿里云服務(wù)器轉(zhuǎn)服務(wù)器方案 阿里云服務(wù)器遷移到新服務(wù)器
網(wǎng)頁(yè)路徑:http://www.chinadenli.net/article16/dddhogg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、云服務(wù)器、網(wǎng)站營(yíng)銷(xiāo)、虛擬主機(jī)、用戶(hù)體驗(yàn)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)