例子: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肮雨。
-
collation-server=utf8_bin
可通過命令show variables like 'collation_database';
查詢
character-set-server=utf8
可通過命令show variables like 'character_set_database';
查詢
-
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