標籤:images mysql資料庫 process 更改 ant 驗證 select 通過 shadow
資料庫是資訊系統中非常重要的一個環節,合理高效的對其進行管理是非常重要的工作。通常由管理員建立不同的管理賬戶,然後給予不同的操作許可權,把這些賬戶交給相應的管理員使用。
在mysql資料庫中,所有的使用者資訊都被儲存在mysql庫的user表中
mysql> use mysql;mysql> show tables;+---------------------------+| Tables_in_mysql |+---------------------------+| columns_priv ||··· //省略部分表 || user |+---------------------------+31 rows in set (0.00 sec)
管理系統管理使用者
通過對user表的添加、修改、刪除可以管理mysql的使用者,使用CREATE建立新使用者,DROP刪除使用者,SET修改使用者密碼。
使用者的添加、刪除
- 明文添加新使用者
create user ‘zhangsan‘@‘localhost‘ identified by ‘123456‘;//建立新使用者’zhangsan‘允許在本地登陸(可以更改為其他的IP地址)密碼為123123
- 密文添加新使用者
mysql> select password (‘123123‘); //產生密文字串+-------------------------------------------+| password (‘123123‘) |+-------------------------------------------+| *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 |+-------------------------------------------+1 row in set, 1 warning (0.01 sec)mysql> create user ‘lisi‘@‘localhost‘ identified by password ‘*E56A114692FE0DE073F99A1DD6 //密文建立新使用者
- 查詢新添加的使用者
select user,authentication_string,host from user; //查詢user表中的使用者、密碼、主機三列資料
- 刪除使用者
drop user ‘zhangsan‘@‘localhost‘;
使用者密碼修改
- 使用SET命令修改使用者密碼
set password=password(‘123123‘); //修改當前登陸使用者密碼set password for ‘lisi‘@‘localhost‘=password(‘123456‘); //修改其他使用者密碼
遺忘root密碼的解決方案
- 先關閉正在運行中的MySQL進程
systemctl stop mysqld.service netstat -ntap | grep 3306 //查詢不到3306連接埠資訊,則表示mysql進程已結束killall mysqld //**如果正常的停止命令無法關閉進程,則可使用該命令
- 使用跳過user表驗證的方式登陸
mysqld --skip-grant-tables
- 更改密碼
輸入上一條命令後重新開啟新的終端登陸mysql -u root //新終端登陸update mysql.user set authentication_string=password(‘abcabc‘) where user=‘root‘;//更改使用者表(user)中的密碼項flush privileges; //重新整理,重新整理之後方能使用新密碼登陸系統
MySQL(mysql 5.7)使用者密碼的管理