数据库是信息系统中非常重要的一个环节,合理高效的对其进行管理是非常重要的工作。通常由管理员创建不同的管理账户,然后给予不同的操作权限,把这些账户交给相应的管理人员使用。
在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; //刷新,刷新之后方能使用新密码登陆系统
原文地址:http://blog.51cto.com/13643643/2133408
时间: 2024-10-09 12:38:23