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

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

  • 登錄10.11.25.20
  • 在mysql中先創(chuàng)建用戶test、數(shù)據(jù)庫wqq,并賦予用戶test對數(shù)據(jù)庫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主機的mysql數(shù)據(jù)庫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)知識點,可不看


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

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

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

create database zmock default charset=utf8;

若/etc/my.cnf中已設(shè)置如下,使用語句create database wqq;,即可實現(xiàn)創(chuàng)建字符集為utf8的數(shù)據(jù)庫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作用:使客戶端從任何主機IP可以登錄MySQL

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

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

創(chuàng)建密碼為test123的用戶test,并授予該用戶在任何主機IP登錄時,均擁有數(shù)據(jù)庫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為主機IP192.168.119.10中MySQL中的用戶名,且該用戶需對該數(shù)據(jù)庫wqq擁有權(quán)限,并不是主機IP的用戶名。
  • 運行該語句之后會提示輸入密碼,應(yīng)輸入主機IP192.168.119.10中mysql中的用戶名為wqq的密碼,而不是主機IP192.168.119.10的登錄用戶wqq的密碼。
  • 在不知道對方數(shù)據(jù)庫用戶名的密碼的情況下,若使用命令mysqldump時,可以先在數(shù)據(jù)庫所在的主機IP上臨時創(chuàng)建一個管理員賬戶(記得刪), 管理員賬號的設(shè)置如下:
    grant all on *.* to 'admin'@'%' identified by 'adminwqq';
    創(chuàng)建密碼為adminwqq的用戶admin,在任何主機IP上登錄時,均擁有所有數(shù)據(jù)庫所有數(shù)據(jù)庫所有數(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ù)庫mysql數(shù)據(jù)表use的表結(jié)構(gòu)
use wqq;
show tables; 展示數(shù)據(jù)庫apitest_mgmt_uat的表信息
drop database wqq; 刪除數(shù)據(jù)庫metric_mgmt_prd
drop user admin@'%'; 刪除用戶admin

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

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

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

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

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

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

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