基于安全考慮root賬戶一般只能本地訪問,但是在開發(fā)過程中可能需要打開root的遠程訪問權限。下面是基本的步驟:

站在用戶的角度思考問題,與客戶深入溝通,找到平安網站設計與平安網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網站制作、成都網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣、域名與空間、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋平安地區(qū)。
1、登錄到MySQL中,為root進行遠程訪問的授權,執(zhí)行下面的命令:
mysql GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
mysql flush privileges;
第一句中"%"表示任何主機都可以遠程登錄到該服務器上訪問。如果要限制只有某臺機器可以訪問,將其換成相應的IP即可,如:
GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";
第二句表示從mysql數據庫的grant表中重新加載權限數據。因為MySQL把權限都放在了cache中,所以在做完更改后需要重新加載。
2、修改/etc/mysql/my.cnf,需要root用戶權限。找到文件中的:
[ruby] view plain copy print?
bind-address = 127.0.0.1
將其注釋掉,保存。
3、重新啟動MySQL服務器。執(zhí)行下面的幾條命令即可:
# /usr/bin/mysqladmin -u root -p shutdown
# /usr/bin/mysqld_safe
如果mysqladmin和mysql_safe不在/usr/bin目錄中,可以通過whereis命令查找,例如:
# whereis mysqladmin
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz
執(zhí)行完上面的三步后,就可以通過遠程機器連接了數據庫了。
1、創(chuàng)建新用戶
通過root用戶登錄之后創(chuàng)建
grant all privileges on *.* to testuser@localhost identified by "123456" ;//創(chuàng)建新用戶,用戶名為testuser,密碼為123456 ;
grant all privileges on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,可以在本地訪問mysql
grant all privileges on *.* to testuser@"%" identified by "123456" ; //設置用戶testuser,可以在遠程訪問mysql
flush privileges ;//mysql 新設置用戶或更改密碼后需用flush privileges刷新MySQL的系統(tǒng)權限相關表,否則會出現拒絕訪問,還有一種方法,就是重新啟動mysql服務器,來使新設置生效
2、設置用戶訪問數據庫權限
grant all privileges on test_db.* to testuser@localhost identified by "123456" ;//設置用戶testuser,只能訪問數據庫test_db,其他數據庫均不能訪問 ;
grant all privileges on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,可以訪問mysql上的所有數據庫 ;
grant all privileges on test_db.user_infor to testuser@localhost identified by "123456" ;//設置用戶testuser,只能訪問數據庫test_db的表user_infor,數據庫中的其他表均不能訪問 ;
3、設置用戶操作權限
grant all privileges on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ;//設置用戶testuser,擁有所有的操作權限,也就是管理員 ;
grant select on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ;//設置用戶testuser,只擁有【查詢】操作權限 ;
grant select,insert on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,只擁有【查詢\插入】操作權限 ;
grant select,insert,update,delete on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,只擁有【查詢\插入】操作權限 ;
REVOKE select,insert ON what FROM testuser//取消用戶testuser的【查詢\插入】操作權限 ;
1、改表法。
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql后,更改 "mysql" 數據庫里的 "user" 表里的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysqluse mysql;
mysqlupdate user set host = '%' where user = 'root';
mysqlselect host, user from user;
2、授權法。例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql服務器,并使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
我用的第一個方法,剛開始發(fā)現不行,在網上查了一下,少執(zhí)行一個語句 mysqlFLUSH RIVILEGES
使修改生效,就可以了
另外一種方法:
在安裝mysql的機器上運行:
1、d:\mysql\bin\mysql -h localhost -u root
//這樣應該可以進入MySQL服務器
2、mysqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//賦予任何主機訪問數據的權限
3、mysqlFLUSH PRIVILEGES
//修改生效
4、mysqlEXIT
//退出MySQL服務器
這樣就可以在其它任何的主機上以root身份登錄啦。
當前題目:怎么開放mysql權限,mysql設置權限
當前網址:http://chinadenli.net/article29/dsepcjh.html
成都網站建設公司_創(chuàng)新互聯,為您提供電子商務、網站收錄、企業(yè)建站、建站公司、網站策劃、服務器托管
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯