mysql創(chuàng)建用戶并賦予用戶權(quán)限詳細操作教程
用戶管理
新建用戶
語法
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'
示例
mysql> create user 'lisi'@'localhost' identified by '123123'; Query OK, 0 rows affected (0.00 sec)
username:將創(chuàng)建的用戶名
localhost:指定用戶那些主機上可以登錄,可登錄的IP地址,網(wǎng)段,主機名,如果是本機可以用localhost,如果想讓用戶可以任意運程登錄,可以使用通配符%。
mysql> select password(123123); +-------------------------------------------+ | password(123123) | +-------------------------------------------+ | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 | +-------------------------------------------+ 1 row in set, 1 warning (0.00 sec //上面的碼就是加密過后的123123
password:因為mysql5.7版本啟用了密碼增強插件,密碼不能為空,必須符合密碼復雜性要求,經(jīng)過加密再寫入數(shù)據(jù)庫。
查看當前用戶
select user(); +----------------+ | user() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec)
創(chuàng)建后的用戶是保存在mysql數(shù)據(jù)庫的user表里
mysql> use mysql; mysql> select user,authentication_string,host from user; +---------------+-------------------------------------------+-----------+ | user | authentication_string | host | +---------------+-------------------------------------------+-----------+ | root | | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost | | lisi | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 | localhost | +---------------+-------------------------------------------+-----------+ 4 rows in set (0.00 sec) //lisi就是我們添加的
嘗試登錄lisi
[root@web3 ~]# mysql -ulisi -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 20 Server version: 5.7.20-log Source distribution //成功
重命名用戶名
語法
RENAME USER 'old_user'@'localhost' TO 'new_user'@'host'
old_user是舊的用戶名,new_user是新的用戶名,重新加載用戶lisi后,把它改改為zhangsan。
示例
mysql> RENAME USER 'lisi'@'localhost' TO 'zhangsan'@'192.168.200.4'; Query OK, 0 rows affected (0.00 sec)
查看效果
use mysql mysql> select user,authentication_string,host from user; +---------------+-------------------------------------------+---------------+ | user | authentication_string | host | +---------------+-------------------------------------------+---------------+ | root | | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost | | zhangsan | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 | 192.168.200.4 | +---------------+-------------------------------------------+---------------+ 4 rows in set (0.00 sec)
重命名成功 ,主機也由host改為IP地址了。
給用戶設置密碼
修改用戶密碼由兩種,一可以修改當前用戶,二是修改其他用戶。
方法一語法
SET PASSWORD = PASSWORD('password')
方法二語法
SET PASSWORD='username'@'host'=PASSWORD('password');
注:退出后需要使用新密碼
忘記root密碼的解決方法
忘掉別的用戶密碼,可以使用root用戶重新設置,但root忘掉了,就要采用特殊方法進行。
方法1:停止mysql服務進程。
使用mysqld_safe結(jié)合skip-grant-tables啟動數(shù)據(jù)庫
它的作用就是用戶登錄時不授權(quán)表。
mysql_safe --skip-grant-tables& //這時mysql已經(jīng)啟動 mysql 直接不使用密碼進入,使用update修改密碼 注:修改密碼后 刷新數(shù)據(jù)庫 flush privileges; 然后就去嘗試登錄新密碼root
授權(quán)控制
權(quán)限非常重要,分配權(quán)限設置也非常重要,分配權(quán)限庫清晰劃分責任,最重要就是保證系統(tǒng)數(shù)據(jù)庫的安全。
授予權(quán)限
語法
GRANT 權(quán)限列表 ON 庫名.表名 TO 用戶名@主機地址 IDENTIFIED BY 'password';
常用的權(quán)限:all,create,drop,insert,delete,update,select
示例
新增一個用戶
grant [權(quán)限1,權(quán)限2,權(quán)限3..] on *.* to user@'host' identified by 'pasword';
分配權(quán)限
grant all on *.* to lisi@'192.168.1.%' identified by '111111';
注:當用戶名和主機名在數(shù)據(jù)庫不存在時,用戶名與主機名會被創(chuàng)建,也就是相當于添加了一個用戶數(shù)據(jù),登錄的密碼也是后面指定的密碼,如果你原先密碼是1212,grant后面跟的密碼不一樣是123123,會相當于修改了密碼。
查看權(quán)限
SHOW GRANTS FOR 'username'@'主機地址';
撤銷權(quán)限
語句
revoke 權(quán)限列表 on 數(shù)據(jù)庫.表 from 用戶@'主機地址';
撤銷權(quán)限全部
revoke all on *.* from lisi@'192.168.1.%';
總結(jié)
到此這篇關(guān)于mysql創(chuàng)建用戶并賦予用戶權(quán)限詳細操作的文章就介紹到這了,更多相關(guān)mysql創(chuàng)建用戶并賦予權(quán)限內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL創(chuàng)建用戶與授權(quán)及撤銷用戶權(quán)限方法
- MySQL 創(chuàng)建用戶、授權(quán)用戶、撤銷用戶權(quán)限、更改用戶密碼、刪除用戶(實用技巧)
- mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫權(quán)限的方法示例
- 詳解mysql8.0創(chuàng)建用戶授予權(quán)限報錯解決方法
- MySQL創(chuàng)建用戶和權(quán)限管理的方法
- MySql添加新用戶及為用戶創(chuàng)建數(shù)據(jù)庫和給用戶分配權(quán)限方法介紹
- MySQL中的用戶創(chuàng)建與權(quán)限管理
- MySQL8.0創(chuàng)建用戶和權(quán)限控制示例詳解
- Mysql用戶創(chuàng)建以及權(quán)限賦予操作的實現(xiàn)
- MySQL創(chuàng)建用戶以及用戶權(quán)限詳細圖文教程
相關(guān)文章
MySQL數(shù)據(jù)庫事務隔離級別介紹(Transaction Isolation Level)
這篇文章主要介紹了MySQL數(shù)據(jù)庫事務隔離級別(Transaction Isolation Level) ,需要的朋友可以參考下2014-05-05虛擬主機MySQL數(shù)據(jù)庫的備份與還原的方法
虛擬主機MySQL數(shù)據(jù)庫的備份與還原的方法...2007-07-07MySQL數(shù)據(jù)時區(qū)問題以及datetime和timestamp類型存儲的差異
這篇文章主要介紹了MySQL數(shù)據(jù)時區(qū)問題以及datetime和timestamp類型存儲的差異,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11