登錄數(shù)據(jù)庫
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、虛擬空間、營銷軟件、網(wǎng)站建設、龍馬潭網(wǎng)站維護、網(wǎng)站推廣。
“命令提示字符”窗口錄入,
錄入cd
C:\mysql\bin
并按下回車鍵,將目錄切換為
cd
C:\mysql\bin
再鍵入命令mysql
-uroot
-p,回車后提示你輸密碼,如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入到MYSQL中了,MYSQL的提示符是:mysql
修改密碼
C:\mysql\bin提示符下錄入:
格式:mysqladmin
–u用戶名
-p舊密碼
password
新密碼
例如:給root加個密碼ab12。鍵入以下命令:
mysqladmin
-uroot
password
ab12
在MySQL中修改用戶的語法如下:
看了這么一大坨東西,感覺啥也沒有告訴我,一臉懵逼。下面我們一起來解讀一下具體的每一個選項的含義。
對于這個大家應該有所了解。
首先它是被中括號包裹起來的,表示是可選的不是必須的,也就是說在我們的 alter user 語句中,這個 IF EXISTS 可以不出現(xiàn)不是必須要寫的。但是為什么還要有這個呢,這個選項出現(xiàn)的目的是為了讓你在執(zhí)行一個 alter user 語句的時候,如果語句中指定的數(shù)據(jù)庫用戶不存在(或者你寫用戶名稱的是寫錯了),而不至于出現(xiàn)一個錯誤的信息,如果指定了 IF EXISTS 這個詞,他就會以一個警告的信息提示你而不是直接給你一個錯誤信息。
更直白一下就是:如果你的 alter user 的語句中指定的用戶確實存在,那么就執(zhí)行你的語句,如果不存在呢,就不執(zhí)行你的語句,跳過這個 alter user 的指令。看示例:
在上面的例子中,第一個修改用戶的語句,沒有使用 if exists 關鍵詞直接修改了一個不存在的用戶的信息,結(jié)果直接出現(xiàn)了錯誤信息,接著我們使用了 if exists 關鍵詞,結(jié)果SQL語句執(zhí)行成功,只是出現(xiàn)了一個 warning 警告,然后我們通過 show warnings 命令查看警告信息的內(nèi)容,提示我們用戶 'zhangsanfeng'@'%' 不存在。這就是 if exists 關鍵詞的存在的意義。
當我們修改一個用戶的信息的時候,我們需要指定用戶的名稱。這個名稱,不僅僅使我們平時登錄數(shù)據(jù)庫的時候,輸入的用戶的名字,還有一個隱含的部分就是用戶登錄的 host 網(wǎng)段,這個網(wǎng)段表示只允許該用戶通過這個網(wǎng)段登錄,如果用戶不在這個定義的網(wǎng)段內(nèi),即便是用戶名和密碼正確,也不能爭取的登錄。
下面的創(chuàng)建用戶是兩個不同的用戶。
上面的兩個用戶中,分別表示如下:
當然,我們可以使用模糊匹配的方式來限定用戶登錄的網(wǎng)段,比如我們創(chuàng)建下面第一個用戶表示只要這個用戶登錄的時候,使用的主機的IP地址是在 10.10.0.0~10.10.255.255 這個網(wǎng)段質(zhì)檢的任何一個IP地址都可以登錄。
特殊的網(wǎng)段 localhost 。如果我們創(chuàng)建如下的用戶,則表示該用戶只能在 MySQL 數(shù)據(jù)庫所在的服務器本機上登錄。
還有另外一個特殊的網(wǎng)段 % 。它表示用戶可以通過任何一個IP地址來登錄,不對用戶登錄的主機所在的網(wǎng)段做任何限制。如下用戶就是不對它登錄的主機IP地址做任何限制。
auth_option 選項的含義表示指定用戶登錄數(shù)據(jù)庫的時候使用的驗證插件和密碼。它的選項有如下幾種,下面我們分別展開分析一下各個選項的使用場景和示例。
如果在 IDENTIFIED 關鍵字后面沒有使用 WITH 關鍵字指定使用的密碼插件名稱,則會使用 MySQL 默認的密碼插件。對于 MySQL 默認的密碼插件是什么,可以使用下面的命令進行查看:
通過上面的輸出,我們可以看出默認的密碼插件采用的是 mysql_native_password 插件,參數(shù) default_authentication_plugin 的值是可以在 MySQL 的配置文件 my.cnf 中指定的,它可以有以下兩種取值:
MySQL 的配置文件 my.cnf 中配置默認的密碼認證插件的方式如下:
如果我們要修改某一個用戶的密碼認證插件,就可以使用到 IDENTIFIED WITH auth_plugin 這個語句了。如果一個用戶它的密碼認證插件使用的是默認的 mysql_native_password ,我們想把它的密碼認證插件修改為 sha256_password ,此時我們就可以使用下面的命令來修改:
執(zhí)行完成上述命令后, xyz 這個用戶的密碼就會設置為空,并更新它的密碼為已經(jīng)過期,同時更新了它的密碼認證插件為 sha256_password ,結(jié)果如下所示:
更改用戶的密碼認知方式之后,當 xyz 再次嘗試登錄 MySQL 數(shù)據(jù)庫的時候,輸入空密碼登錄成功后,會要求其修改一下自己的密碼,然后才可以執(zhí)行其他SQL語句的操作,這個要求和我們剛安裝 MySQL 數(shù)據(jù)庫后,第一次使用 root 登錄的時候要求修改 root 的密碼是一樣的。下面是修改完成用戶 xyz 的密碼認證插件之后,嘗試使用空密碼登錄后的操作示例:
指定用戶的密碼認證插件,并設置密碼。
當我們想給用戶指定密碼的認證插件,并且想為其設置密碼的時候,可以使用這個命令,示例如下:
這樣用戶 xyz 的密碼認證方式修改為了 mysql_native_password ,并且修改它的密碼為 xyz 。需要我們主要的是 by 關鍵字后面跟的是密碼的明文,也就是我們嘗試登錄的時候,輸入的密碼的值。
指定用戶的密碼認證插件,并設置密碼。
當我們想給用戶指定密碼的認證插件,并且想為其設置密碼的時候,可以使用這個命令,示例如下:
這樣用戶 xyz 的密碼認證方式修改為了 mysql_native_password ,并且修改它的密碼為 xyz 。需要我們主要的是 as 關鍵字后面跟的是加密后的密碼,而不是我們的明文的密碼。如果我們想知道得到一個加密后的密碼,則可以使用下面 password() 函數(shù)來得到加密后的密碼。
這里主要是指定用戶在連接到MySQL數(shù)據(jù)庫的時候,是否需要使用加密的方式,如果使用加密的方式,則需要啟用SSL加密協(xié)議,同時也需要對MySQL進行證書的配置。
考慮到性能的問題,使用TLS加密的方式連接MySQL數(shù)據(jù)庫會對MySQL數(shù)據(jù)庫的性能有一定的影響。非必要情況下,一般不建議啟用TLS加密連接到數(shù)據(jù)庫,因為大家的MySQL數(shù)據(jù)庫一般都是針對內(nèi)網(wǎng)開放的。所以,啟用TLS加密協(xié)議連接沒有必要。
resource_option 選項中,主要是為每一個用戶設置它所能使用到資源,做資源的使用限制。示例如下:
上面四個參數(shù)的值如果為 0 ,則表示對應的資源限制不做任何限制。
password_option 選項用來配置用戶的密碼,指定其密碼的效期。下面看幾個示例:
對于MySQL系統(tǒng)默認的有效期是多少,可以通過如下命令查看,下面的值為 0 表示密碼有效期為永久有效。
lock_option 選擇是用來鎖定和解鎖用戶的。示例如下:
首先以root身份登錄到MySQL服務器中。
$ mysql -u root -p
當驗證提示出現(xiàn)的時候,輸入MySQL的root帳號的密碼。
創(chuàng)建一個MySQL用戶
使用如下命令創(chuàng)建一個用戶名和密碼分別為"myuser"和"mypassword"的用戶。
mysql CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
一旦用戶被創(chuàng)建后,包括加密的密碼、權(quán)限和資源限制在內(nèi)的所有帳號細節(jié)都會被存儲在一個名為user的表中,這個表則存在于mysql這個特殊的數(shù)據(jù)庫里。
運行下列命令,驗證帳號是否創(chuàng)建成功
mysql SELECT host, user, password FROM mysql.user WHERE user='myuser';
賦予MySQL用戶權(quán)限
一個新建的MySQL用戶沒有任何訪問權(quán)限,這就意味著你不能在MySQL數(shù)據(jù)庫中進行任何操作。你得賦予用戶必要的權(quán)限。以下是一些可用的權(quán)限:
ALL: 所有可用的權(quán)限
CREATE: 創(chuàng)建庫、表和索引
LOCK_TABLES: 鎖定表
ALTER: 修改表
DELETE: 刪除表
INSERT: 插入表或列
SELECT: 檢索表或列的數(shù)據(jù)
CREATE_VIEW: 創(chuàng)建視圖
SHOW_DATABASES: 列出數(shù)據(jù)庫
DROP: 刪除庫、表和視圖
運行以下命令賦予"myuser"用戶特定權(quán)限。
mysql GRANT privileges ON database.table TO 'myuser'@'localhost';
以上命令中,privileges 代表著用逗號分隔的權(quán)限列表。如果你想要將權(quán)限賦予任意數(shù)據(jù)庫(或表),那么使用星號(*)來代替數(shù)據(jù)庫(或表)的名字。
例如,為所有數(shù)據(jù)庫/表賦予 CREATE 和 INSERT 權(quán)限:
mysql GRANT CREATE, INSERT ON *.* TO 'myuser'@'localhost';
驗證給用戶賦予的全權(quán)限:
mysql SHOW GRANTS FOR 'myuser'@'localhost';
將全部的權(quán)限賦予所有數(shù)據(jù)庫/表:
mysql GRANT ALL ON *.* TO 'myuser'@'localhost';
你也可以將用戶現(xiàn)有的權(quán)限刪除。使用以下命令廢除"myuser"帳號的現(xiàn)有權(quán)限:
mysql REVOKE privileges ON database.table FROM 'myuser'@'localhost';
為用戶添加資源限制
在MySQL中,你可以為單獨的用戶設置MySQL的資源使用限制。可用的資源限制如下:
MAX_QUERIES_PER_HOUR: 允許的每小時最大請求數(shù)量
MAX_UPDATES_PER_HOUR: 允許的每小時最大更新數(shù)量
MAX_CONNECTIONS_PER_HOUR: 允許的每小時最大連接(LCTT譯注:其與 MySQL全局變量: max_user_connections 共同決定用戶到數(shù)據(jù)庫的同時連接數(shù)量)數(shù)量
MAX_USER_CONNECTIONS: 對服務器的同時連接量
使用以下命令為"myuser"帳號增加一個資源限制:
mysql GRANT USAGE ON database.table TO 'myuser'@'localhost' WITH resource-limits;
在 resource-limits 中你可以指定多個使用空格分隔開的資源限制。
例如,增加 MAXQUERIESPERHOUR 和 MAXCONNECTIONSPERHOUR 資源限制:
mysql GRANT USAGE ON *.* TO 'myuser'@'localhost' WITH MAX_QUERIES_PER_HOUR 30 MAX_CONNECTIONS_PER_HOUR 6;
驗證用戶的資源限制:
mysql SHOW GRANTS FOR 'myuser'@'localhost;
創(chuàng)建和設置一個MySQL用戶最后的一個重要步驟:
mysql FLUSH PRIVILEGES;
如此一來更改便生效了。現(xiàn)在MySQL用戶帳號就可以使用了。
第一步:管理員權(quán)限賬號登陸phpMyAdmin,一般用root登錄。
第二步:設置用戶權(quán)限。
編輯 hellen 這個用戶的權(quán)限。如下圖所示:
第三步:選擇相應的權(quán)限,點擊執(zhí)行
上面權(quán)限意思可以對照下面翻譯:
數(shù)據(jù):
SELECT:允許讀取數(shù)據(jù)。
INSERT:允許插入和替換數(shù)據(jù)。
UPDATA:允許更改數(shù)據(jù)。
DELETE:允許刪除數(shù)據(jù)。
FILE:允許從文件中導入數(shù)據(jù)以及將數(shù)據(jù)導出至文件。
結(jié)構(gòu):
CREATE:允許創(chuàng)建新數(shù)據(jù)庫和表。
ALTER:允許修改現(xiàn)有表的結(jié)構(gòu)。
INDEX:允許創(chuàng)建和刪除索引。
DROP:允許刪除數(shù)據(jù)庫和表。
CREATE TEMPORARY TABLES:允許創(chuàng)建暫時表。
CREATE VIEW:允許創(chuàng)建新的意見。
SHOW VIEW:顯示創(chuàng)建的看法。
CREATE ROUTINE:允許創(chuàng)建存儲過程。
ALTER ROUTINE:允許改變和下降存儲過程。
EXECUTE:允許許執(zhí)行存儲過程。
管理:
GRANT:允許添加用戶和權(quán)限,而不允許重新載入權(quán)限表。
SUPER:允許在達到最大允許數(shù)目時仍進行連接。
PROCESS:允許查看進程列表中的完整查詢。
RELOAD:允許重新載入服務器設置并刷新服務器的緩存。
SHUTDOWN:允許關閉服務器。
SHOW DATABASES:允許訪問完整的數(shù)據(jù)庫列表。
LOCK TABLES:允許鎖住當前線索的表。
REFERENCES:在此版本的 MySQL 中無效。
REPLICATION CLIENT:用戶有權(quán)詢問附屬者/控制者在哪里。
REPLICATION SLAVE:回復附屬者所需。
CREATE USER:允許創(chuàng)建,下降和重新命名的用戶帳戶。
第四步:重新加載授權(quán)表
修改完用戶權(quán)限以后需要回到 phpMyAdmin 的首頁,重新加載一下授權(quán)
如下圖所示:
注:我的運行環(huán)境是widnows xp professional + MySQL5.0
一, 創(chuàng)建用戶:
命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
說明:username - 你將創(chuàng)建的用戶名, host -
指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost, 如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%.
password - 該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務器.
例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';
二,授權(quán):
命令:GRANT privileges ON databasename.tablename TO 'username'@'host'
說明: privileges - 用戶的操作權(quán)限,如SELECT , INSERT , UPDATE 等(詳細列表見該文最后面).如果要授予所的權(quán)限則使用ALL.;databasename - 數(shù)據(jù)庫名,tablename-表名,如果要授予該用戶對所有數(shù)據(jù)庫和表的相應操作權(quán)限則可用*表示, 如*.*.
例子: GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
注意:用以上命令授權(quán)的用戶不能給其它用戶授權(quán),如果想讓該用戶可以授權(quán),用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
三.設置與更改用戶密碼
命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是當前登陸用戶用SET PASSWORD = PASSWORD("newpassword");
例子: SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
四.撤銷用戶權(quán)限
命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host';
說明: privilege, databasename, tablename - 同授權(quán)部分.
例子: REVOKE SELECT ON *.* FROM 'pig'@'%';
注意: 假如你在給用戶'pig'@'%'授權(quán)的時候是這樣的(或類似的):GRANT SELECT ON test.user TO 'pig'@'%', 則在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤銷該用戶對test數(shù)據(jù)庫中user表的SELECT 操作.相反,如果授權(quán)使用的是GRANT SELECT ON *.* TO 'pig'@'%';則REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤銷該用戶對test數(shù)據(jù)庫中user表的Select 權(quán)限.
具體信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.
五.刪除用戶
命令: DROP USER 'username'@'host';
1、安裝好wamp后,運行WampServer程序,進入MYSQL控制臺;
2
2、進入控制臺后,提示輸入密碼(不用輸入任何密碼,因為密碼為空),按回車鍵進入;
3
3、輸入“USE mysql;”然后回車,意思是選擇mysql數(shù)據(jù)庫;
4
4、輸入“update user set password=“password”(‘這里是密碼,如:root’) where user=’root’;”然后回車;返回信息:
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
5
5、輸入quit退出控制臺;
6
6、重啟mysql服務;
7
7、輸入用戶名、你設置定的密碼,登錄成功。
本文名稱:mysql怎么設置用戶 mysql怎么設置用戶名
文章來源:http://www.chinadenli.net/article0/dodooio.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、微信公眾號、服務器托管、定制開發(fā)、面包屑導航、網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)