使用linux下的軟連接方法,具體操作如下:(以遷移到/date/mysql/目錄為例)
創(chuàng)新互聯(lián)公司是一家專(zhuān)注于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),大荔網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:大荔等地區(qū)。大荔做網(wǎng)站價(jià)格咨詢(xún):18982081108
其實(shí)和方法一基本相同,方法一是把數(shù)據(jù)目錄遷移后建立一個(gè)軟鏈接到原始路徑,方法二則徹底拋棄原目錄,修改配置文件指向新目錄。
先按照方法一把數(shù)據(jù)目錄遷移到新的位置,然后需要修改以下配置文件:
參考 :
想知道你的mysql裝在哪里嗎?CentOS7一般是裝在/var/lib/mysql中的
在完成遷移之前,先用下面的指令來(lái)停止mysqld服務(wù)
service mysqld stop,或者直接點(diǎn)sudo systemctl stop mysqld
然后用df-h指令看服務(wù)器上剩余空間是多少,假設(shè)我們新掛了一塊500G的硬盤(pán)到/data上
那么請(qǐng)把mysql整個(gè)文件夾拷貝到/data中,像下面這樣:
sudo cp -rf /var/lib/mysql /data/mysql,拷完以后原來(lái)的mysql文件夾就可以刪除了
然后再修改/etc/my.cnf,這個(gè)也是需要su的:
sudo vi /etc/my.cnf
里面有一個(gè)字段叫[mysqld],將datadir和socket修改成這樣:
datadir=/data/mysql
socket=/data/mysql/mysql.sock
接下來(lái),有的人說(shuō)要修改/etc/init.d/mysqld,但我的服務(wù)器不需要,直接通過(guò)
service mysqld start就可以啟動(dòng)SQL服務(wù)了,遠(yuǎn)程也可以連接上,但是:
當(dāng)你使用終端mysql -u root -p的時(shí)候,就會(huì)報(bào)下面這個(gè)錯(cuò):
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
這個(gè)時(shí)候,你有兩種解決辦法,一種是造一個(gè)軟連接
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock,原因是你已經(jīng)刪掉之前的mysql目錄了
另外一種辦法,是在/etc/my.cnf下面新建一個(gè)新字段:
[mysql]
socket=/data/mysql/mysql.sock
第一種方法不需要重啟mysql server,第二種方法需要重啟mysql server,
然后,你就可以成功地從終端里進(jìn)入mysql了
敲黑板,不要在[mysql]下面自做主張地寫(xiě)上datadir=/data/mysql,這樣會(huì)導(dǎo)致本地命令行登錄時(shí)報(bào)錯(cuò):Unknown Variable: datadir=/data/mysql
caching_sha2_password認(rèn)證插件提供更多的密碼加密方式,并且在加密方面具有更好的表現(xiàn),目前MySQL?8.0選用caching_sha2_password作為默認(rèn)的認(rèn)證插件,MySQL?5.7的認(rèn)證插件是MySQL_native_password。如果客戶(hù)端版本過(guò)低,會(huì)造成無(wú)法識(shí)別MySQL?8.0的加密認(rèn)證方式,最終導(dǎo)致連接問(wèn)題。
MySQL存儲(chǔ)引擎現(xiàn)在負(fù)責(zé)提供自己的分區(qū)處理程序,而MySQL服務(wù)器不再提供通用分區(qū)支持,InnoDB和NDB是唯一提供MySQL?8.0支持的本地分區(qū)處理程序的存儲(chǔ)引擎。?如果分區(qū)表用的是別的存儲(chǔ)引擎,存儲(chǔ)引擎必須進(jìn)行修改。要么將其轉(zhuǎn)換為InnoDB或NDB,要么刪除其分區(qū)。通過(guò)MySQLdump從5.7獲取的備份文件,在導(dǎo)入到8.0環(huán)境前,需要確保創(chuàng)建分區(qū)表語(yǔ)句中指定的存儲(chǔ)引擎必須支持分區(qū),否則會(huì)報(bào)錯(cuò)。
MySQL?8.0的默認(rèn)字符集utf8mb4,可能會(huì)導(dǎo)致之前數(shù)據(jù)的字符集跟新建對(duì)象的字符集不一致,為了避免新舊對(duì)象字符集不一致的情況,可以在配置文件將字符集和校驗(yàn)規(guī)則設(shè)置為舊版本的字符集和校驗(yàn)規(guī)則。
MySQL?8.0啟動(dòng)使用的lower_case_table_names值必須跟初始化時(shí)使用的一致。使用不同的設(shè)置重新啟動(dòng)服務(wù)器會(huì)引入與標(biāo)識(shí)符的排序和比較方式不一致的問(wèn)題。
lower_case_table_names?
要避免MySQL?8.0上的啟動(dòng)失敗,MySQL配置文件中的sql_mode系統(tǒng)變量不能包含NO_AUTO_CREATE_USER。
從MySQL?5.7.24和MySQL?8.0.13開(kāi)始,MySQLdump從存儲(chǔ)程序定義中刪除了NO_AUTO_CREATE_USER。必須手動(dòng)修改使用早期版本的MySQLdump創(chuàng)建的轉(zhuǎn)儲(chǔ)文件,以刪除NO_AUTO_CREATE_USER。
在MySQL?8.0.11中,刪除了這些不推薦使用的兼容性SQL Mode:DB2,MAXDB,MSSQL,MySQL323,MySQL40,ORACLE,POSTGRESQL,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS。從5.7到8.0的復(fù)制場(chǎng)景中,如果語(yǔ)句使用到廢棄的SQL Mode會(huì)導(dǎo)致復(fù)制異常。
在執(zhí)行到MySQL?8.0.3或更高版本的in-place升級(jí)時(shí),BACKUP_ADMIN權(quán)限自動(dòng)授予具有RELOAD權(quán)限的用戶(hù)。
本文對(duì)MySQL 5.7到MySQL 8.0的升級(jí)過(guò)程中出現(xiàn)部分易出現(xiàn)問(wèn)題進(jìn)行整理:升級(jí)對(duì)MySQL版本的要求、升級(jí)都做了哪些內(nèi)容、數(shù)據(jù)庫(kù)升級(jí)做了哪些步驟以及注意事項(xiàng),希望對(duì)大家版本升級(jí)有幫助。
原目錄:/var/lib/mysql
新目錄:/data/mysql
1.將/smp/mysql/mysql.sock文件復(fù)制到/data/db/mysql.sock,并停止運(yùn)行mysql(注意,需將
mysql.sock文件復(fù)制后,才能停止mysql)
/smp/mysql/bin/mysqladmin -uroot -p shutdown
2.data目錄遷移
cp -a /var/lib/mysql/* /data/mysql
3.修改/etc/my.cnf
socket=/data/db/mysql.sock(注意將原來(lái)的socket文件注釋掉,方便回滾)
datadir=/data/db/data
4.建立軟鏈接
ln -s /data/db/mysql.sock /var/lib/mysql/mysql.sock
使用這種方法前,我們需要先下載一個(gè)MySQL客戶(hù)端工具SqlYog。點(diǎn)擊這里下載并安裝\x0d\x0a\x0d\x0a下面我們開(kāi)始復(fù)制數(shù)據(jù)庫(kù):\x0d\x0a1、打開(kāi)SqlYog community Edition,分別在不同的選項(xiàng)卡中打開(kāi)源數(shù)據(jù)庫(kù)服務(wù)器與目標(biāo)數(shù)據(jù)庫(kù)服務(wù)器,這一點(diǎn)很重。\x0d\x0a\x0d\x0a在源數(shù)據(jù)庫(kù)服務(wù)器選項(xiàng)卡中你將看到所有數(shù)據(jù)庫(kù)列表。\x0d\x0a2、在需要復(fù)制遷移的數(shù)據(jù)庫(kù)上右擊,在彈出菜單中選擇“Copy Database to Different Host/Database”\x0d\x0a3、在彈出對(duì)話框中,我們能看到源數(shù)據(jù)庫(kù)服務(wù)器及目標(biāo)服務(wù)器,在左邊,通過(guò)勾選復(fù)選框來(lái)選擇需要復(fù)制遷移的對(duì)象,如表、函數(shù)、觸發(fā)器等,也可以選擇所有對(duì)象。\x0d\x0a4、在右邊選擇需要遷移的目標(biāo)服務(wù)器或數(shù)據(jù)庫(kù)\x0d\x0a5、根據(jù)你的需要選擇復(fù)制類(lèi)型:“Structure and Data”或“Structure only”,即“結(jié)構(gòu)和數(shù)據(jù)”或“僅結(jié)構(gòu)”。\x0d\x0a6、選擇結(jié)束后點(diǎn)擊“Copy”按鈕開(kāi)始復(fù)制,知道數(shù)據(jù)遷移結(jié)束。
文章標(biāo)題:怎么用mysql遷移 mysql數(shù)據(jù)庫(kù)怎么遷移
文章位置:http://jinyejixie.com/article16/dodddgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、微信小程序、網(wǎng)站策劃
聲明:本網(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)