MySQL(mysql 5.7)用戶密碼的管理
阿新 • • 發佈:2018-06-27
AD from root text AS ant SQ netstat oss 數據庫是信息系統中非常重要的一個環節,合理高效的對其進行管理是非常重要的工作。通常由管理員創建不同的管理賬戶,然後給予不同的操作權限,把這些賬戶交給相應的管理人員使用。
在mysql數據庫中,所有的用戶信息都被保存在mysql庫的user表中
在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)用戶密碼的管理