方法/步驟
成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、網(wǎng)站建設(shè)與策劃設(shè)計(jì),連江網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:連江等地區(qū)。連江做網(wǎng)站價(jià)格咨詢:18980820575
眾所周知,mysql里面有很多權(quán)限,不同權(quán)限可以使用不同功能,今天就教大家怎么獲取Mysql的root權(quán)限,也就是最高權(quán)限,可以做任何事情。
1.首先使用一個(gè)沒有權(quán)限的賬號(hào)鏈接mysql,成功之后執(zhí)行:show databases;這時(shí)會(huì)發(fā)現(xiàn)沒有權(quán)限的用戶只能看到一個(gè)數(shù)據(jù)庫,mysql和test等數(shù)據(jù)庫是看不到的;
2.如果已經(jīng)安裝了phpmyadmin,打開127.0.0.1/phpmyadmin,在菜單欄找到用戶,然后找到?jīng)]有權(quán)限的用戶,點(diǎn)擊編輯權(quán)限;
3.跳轉(zhuǎn)到設(shè)置頁面,找到全局權(quán)限,在全選checkbox打勾,點(diǎn)擊右下角的執(zhí)行,完成后該用戶就獲得了mysql數(shù)據(jù)庫的所有權(quán)限;
4.再次用該賬號(hào)再次鏈接mysql,鏈接成功后執(zhí)行:show databases;你會(huì)發(fā)現(xiàn)所有數(shù)據(jù)庫都會(huì)顯示出來,而且使用該賬號(hào)可以進(jìn)行任意編輯;
6
5.也可以直接在cmd窗口命令行設(shè)置,設(shè)置權(quán)限的命令為:
REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'localhost'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
PS:用戶名部分根據(jù)自己的實(shí)際情況進(jìn)行更改。
方法/步驟
1
在未配置MySQL之前,根據(jù)MySQL服務(wù)端的信息,用navicate客戶端進(jìn)行連接測(cè)試,如圖一、圖二所示
2
在MySQL所在機(jī)器上登錄root用戶,如圖三所示
3
切換到mysql庫,并查看user表,如圖四所示
use mysql;
select host,user,password from user;
4
修改host列的用戶,建議修改localhost用戶,如圖五所示
執(zhí)行命令如下:
update user set host = '%' where host = 'localhost';
select host,user,password from user;
flush privileges;
5
再次用navicate客戶端進(jìn)行連接測(cè)試,如圖六所示
END
FAQ
1
為什么只改一條呢?
因?yàn)?代表了任何ip地址均可以訪問此mysql庫,所以只有一條%記錄即可,多條無意義,如需根據(jù)不同的ip、不同用戶有不同的權(quán)限訪問,可設(shè)置為多條。
2
為什么只是修改某條user記錄,而不是insert一個(gè)用戶呢?
因?yàn)樾略龅挠脩?,相關(guān)權(quán)限是沒有的,如果新紀(jì)錄的各項(xiàng)都設(shè)置為Y,則權(quán)限過大,如果新紀(jì)錄的各項(xiàng)都設(shè)置為N,則權(quán)限過小,遠(yuǎn)程登錄之后,無法進(jìn)行其他操作。
一、KILL掉系統(tǒng)里的MySQL進(jìn)程
killall?-TERM?mysqld
二、用以下命令啟動(dòng)MySQL,以不檢查權(quán)限的方式啟動(dòng)
safe_mysqld?–skip-grant-tables?
三、用空密碼方式使用root用戶登錄 MySQL
mysql?-u?root
四、修改root用戶的密碼
mysql?update?mysql.user?set?password=PASSWORD(‘新密碼’)?where?User=’root’;
mysql?flush?privileges;
mysql?quit
看這個(gè)情況是多半是由于root@localhost root@'%' 兩個(gè)賬號(hào)的權(quán)限不同造成的 修改root@'%'的權(quán)限即可 或者新建一個(gè)外部賬號(hào)
在數(shù)據(jù)庫機(jī)上用root登陸:
給遠(yuǎn)程root賬號(hào)以所有數(shù)據(jù)庫的權(quán)限
grant all on *.* to root@'%' identified by 'password';
如果需要也可以加上 with grant option;
創(chuàng)建user賬號(hào)密碼password 可以從局域網(wǎng)內(nèi)訪問數(shù)據(jù)庫的所有庫
grant all on *.* to user@'192.168.1.%' identified by 'password';