點(diǎn)擊查看:全國計(jì)算機(jī)二級(jí)考試MySQL復(fù)習(xí)知識(shí)點(diǎn)匯總
1.mysql用戶創(chuàng)建:
shell> mysql --user=root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql> GRANT USAGE ON *.* TO dummy@localhost;
這些GRANT語句安裝3個(gè)新用戶:
monty
可以從任何地方連接服務(wù)器的一個(gè)完全的超級(jí)用戶,但是必須使用一個(gè)口令'something'做這個(gè)。注意,我們必須對(duì)monty@localhost和monty@"%"發(fā)出GRANT語句。如果我們?cè)黾觢ocalhost條目,對(duì)localhost的匿名用戶條目在我們從本地主機(jī)連接接時(shí)由mysql_install_db創(chuàng)建的條目將優(yōu)先考慮,因?yàn)樗懈囟ǖ腍ost字段值,所以以u(píng)ser表排列順序看更早到來。
admin
可以從localhost沒有一個(gè)口令進(jìn)行連接并且被授予reload和process管理權(quán)限的用戶。這允許用戶執(zhí)行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,還有mysqladmin processlist。沒有授予數(shù)據(jù)庫有關(guān)的權(quán)限。他們能在以后通過發(fā)出另一個(gè)GRANT語句授權(quán)。
dummy
可以不用一個(gè)口令連接的一個(gè)用戶,但是只能從本地主機(jī)。全局權(quán)限被設(shè)置為'N'--USAGE權(quán)限類型允許你無需權(quán)限就可設(shè)置一個(gè)用戶。它假定你將在以后授予數(shù)據(jù)庫相關(guān)的權(quán)限。
2.通過直接修改授權(quán)表設(shè)置用戶權(quán)限,運(yùn)行這些命令(注意,在結(jié)束時(shí)FLUSH PRIVILEGES):
shell> mysql --user=root mysql
mysql> INSERT INTO user (Host,User,Password) VALUES('localhost','custom',PASSWORD('stupid'));
mysql> INSERT INTO user (Host,User,Password) VALUES('server.domain','custom',PASSWORD('stupid'));
mysql> INSERT INTO user (Host,User,Password) VALUES('whitehouse.gov','custom',PASSWORD('stupid'));
mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)
VALUES ('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)
VALUES ('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)
VALUES('%','customer','custom','Y','Y','Y','Y','Y','Y');
mysql> FLUSH PRIVILEGES;
3.改動(dòng)密碼時(shí)有時(shí)候會(huì)遇到忘記先前的密碼,這時(shí)可以采用以下方式:
修改你的my.ini 配置文件,
在里面的 [mysqld]節(jié)中某處加入下面的一行
skip-grant-tables
然后保存,重啟 mysqld 服務(wù),這樣你可以使用任何用戶名以超級(jí)管理員的身體登錄 MySQL 服務(wù)了。
然后轉(zhuǎn)到mysql數(shù)據(jù)庫中修改user表:
update user set password=PASSword('1234') where user='root';
一定記住要用password函數(shù),否則將來將要輸入的密碼是‘1234’的密文。
最后刪除上面所添中的內(nèi)容,重啟服務(wù)。
另外,如果可以從本機(jī)或其它機(jī)器上找到可以正常使用的MySql數(shù)據(jù)庫,那么也可拷貝其mysql庫中的文件名為user的相關(guān)文件,覆蓋忘記密碼的數(shù)據(jù)庫中的同名文件,這樣也能以被拷貝者的賬戶密碼登錄。
4.如何設(shè)置MySql賬戶使其可以從遠(yuǎn)程訪問服務(wù)器
在5.0版本中,其實(shí)有一個(gè)圖形界面的配置向?qū)Чぞ撸谠O(shè)置root賬戶密碼時(shí),可以選擇是否允許其從遠(yuǎn)程訪問。默認(rèn)情況下是不允許的。
在命令行下,可以有兩種大同小異的方法來作此設(shè)置:
(1)mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;
第一句增加了一個(gè)root用戶授權(quán)通過本地機(jī)(localhost)訪問,密碼“something”。
第二句則是使用通配符,授與root用戶從任何其它主機(jī)發(fā)起的訪問。
(2)亦可直接使用update語句修改user表:使用root用戶或其他用戶登錄mysql,轉(zhuǎn)到mysql數(shù)據(jù)庫
update user set host='localhost' where user='root';
flush privileges;//只允許root在本機(jī)登錄
update user set host='%' where user='root';
flush privileges;//允許root遠(yuǎn)程訪問
注意,以上一定要加flush語句。
另外,如果要建新用戶,則用grant語句比較方便,記住語句grant總是創(chuàng)建新用戶。
5.關(guān)于MySql的3306端口
在服務(wù)器上新裝5.0.18時(shí),提示3306端口已被占用,強(qiáng)制使用該端口,則發(fā)現(xiàn)所連接上的數(shù)據(jù)庫是4.1.8版本,始終無法訪問到新創(chuàng)建的服務(wù)器。后來發(fā)現(xiàn)機(jī)器上原來裝有一個(gè)mysql服務(wù)器,4.1.8版本。
此時(shí),應(yīng)重新配置新版本的數(shù)據(jù)庫, 將端口設(shè)為其他的,如3307,那么在訪問時(shí),可以通過加上選項(xiàng):--port=3307來訪問,在.net程序中也須將連接字符串添上port=3307,即可。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2017年全國計(jì)算機(jī)等級(jí)考試時(shí)間|教材目錄(2017年版)
2017年9月計(jì)算機(jī)等級(jí)考試真題|計(jì)算機(jī)等級(jí)考試答案
各地2017年9月計(jì)算機(jī)等考成績(jī)查詢時(shí)間|免費(fèi)查分提醒
計(jì)算機(jī)等級(jí)考試成績(jī)?cè)u(píng)定流程及標(biāo)準(zhǔn)|合格證書樣本及證書說明
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |