MySQL數(shù)據(jù)庫(kù)遷移

例子:IP為192.168.119.10的MySQL數(shù)據(jù)庫(kù)wqq ,用戶名:lml,密碼:lml123,要求把該數(shù)據(jù)庫(kù)wqq遷移到10.11.25.20,數(shù)據(jù)庫(kù)名稱仍為wqq,用戶名改為test,密碼改為test123
步驟:

  • 登錄10.11.25.20
  • 在mysql中先創(chuàng)建用戶test、數(shù)據(jù)庫(kù)wqq,并賦予用戶test對(duì)數(shù)據(jù)庫(kù)wqq的權(quán)限
mysql -uroot -p
create database wqq default charset=utf8;
grant all on wqq.* to 'test'@'%' identified by  'test123';
flush privileges;
exit
  • 用mysqldump導(dǎo)出IP為192.168.119.10主機(jī)的mysql數(shù)據(jù)庫(kù)wqq 到本地,然后恢復(fù)。
useradd wqq
passwd wqq
cd ~wqq
mysqldump -h192.168.119.10 -ulml -p --default-character-set=utf8  wqq> wqq.sql;
mysql wqq < wqq.sql;

備注:以上為全部步驟,下面為相關(guān)知識(shí)點(diǎn),可不看


1. 查看系統(tǒng)默認(rèn)的客戶端字符集

mysqld --verbose --help|grep 'default-character-set'|grep -v name

2. 創(chuàng)建數(shù)據(jù)庫(kù)(字符集為utf8)

create database zmock default charset=utf8;

若/etc/my.cnf中已設(shè)置如下,使用語(yǔ)句create database wqq;,即可實(shí)現(xiàn)創(chuàng)建字符集為utf8的數(shù)據(jù)庫(kù)wqq。

/etc/my.cnf
  • collation-server=utf8_bin可通過命令show variables like 'collation_database';查詢

    Paste_Image.png

  • character-set-server=utf8可通過命令show variables like 'character_set_database';查詢

Paste_Image.png
  • bind-address=0.0.0.0作用:使客戶端從任何主機(jī)IP可以登錄MySQL

3. 創(chuàng)建用戶、密碼以及權(quán)限

grant all on wqq.* to 'test'@'%' identified by  'test123';

創(chuàng)建密碼為test123的用戶test,并授予該用戶在任何主機(jī)IP登錄時(shí),均擁有數(shù)據(jù)庫(kù)wqq所有數(shù)據(jù)表所有權(quán)限。

4. 查看用戶的權(quán)限

show grants for wqq;

5. 刷新

flush privileges;

6. 導(dǎo)出數(shù)據(jù)

mysqldump -h192.168.119.10 -uwqq -p --default-character-set=utf8 wqq> wqq.sql;

備注:

  • -uwqq 中的wqq為主機(jī)IP192.168.119.10中MySQL中的用戶名,且該用戶需對(duì)該數(shù)據(jù)庫(kù)wqq擁有權(quán)限,并不是主機(jī)IP的用戶名。
  • 運(yùn)行該語(yǔ)句之后會(huì)提示輸入密碼,應(yīng)輸入主機(jī)IP192.168.119.10中mysql中的用戶名為wqq的密碼,而不是主機(jī)IP192.168.119.10的登錄用戶wqq的密碼。
  • 在不知道對(duì)方數(shù)據(jù)庫(kù)用戶名的密碼的情況下,若使用命令mysqldump時(shí),可以先在數(shù)據(jù)庫(kù)所在的主機(jī)IP上臨時(shí)創(chuàng)建一個(gè)管理員賬戶(記得刪), 管理員賬號(hào)的設(shè)置如下:
    grant all on *.* to 'admin'@'%' identified by 'adminwqq';
    創(chuàng)建密碼為adminwqq的用戶admin,在任何主機(jī)IP上登錄時(shí),均擁有所有數(shù)據(jù)庫(kù)所有數(shù)據(jù)庫(kù)所有數(shù)據(jù)表所有權(quán)限。
mysqldump -h192.168.119.10 -uadmin -p --default-character-set=utf8 wqq> wqq.sql;

7. 恢復(fù)數(shù)據(jù)

mysql wqq < wqq.sql;

8. 顯示數(shù)據(jù)表的基本結(jié)構(gòu)

describe mysql.user; 顯示數(shù)據(jù)庫(kù)mysql數(shù)據(jù)表use的表結(jié)構(gòu)
use wqq;
show tables; 展示數(shù)據(jù)庫(kù)apitest_mgmt_uat的表信息
drop database wqq; 刪除數(shù)據(jù)庫(kù)metric_mgmt_prd
drop user admin@'%'; 刪除用戶admin

192.168.119.10上建立grant all on jira.* to 'jira'@'%' identified by 'jira123';

用戶jira除了不能在本地登錄,可以通過任何主機(jī)IP連接數(shù)據(jù)庫(kù)jira
在10.11.25.20連接192.168.119.10的數(shù)據(jù)庫(kù)jira:mysql -h192.168.119.10 -ujira -p

grant all on jira.* to 'jira'@'localhost' identified by 'jira123';

可實(shí)現(xiàn)用戶jira在本機(jī)連接數(shù)據(jù)庫(kù)jira:mysql -ujira -p

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容