万事开头难

mysql用户管理

一. 用户

1.用户的作用

1.登录mysql数据库

2 管理数据库对象

2.用户的定义

username@'主机域'

主机域: 可以理解为是mysql允许登录的白名单

主机域格式:

'10.0.0.51'  : 只有51可以连接我
'10.00.0.5%': 50-59可以连接我 别的不行
'10.00.0.%' : 只要是.几的都是可以连接
' %': 都可以
'10.0.0.0'/255.255.255.0: 固定子网
'db01' : 支持主机名或域名

3.用户管理

3.1 刚装完mysql数据库该做的事

1) 设定密码登录(root@locallhost)

  mysqladmin -root -p password'123' 只能第一次设置 输入原密码

2) 使用密码登录

  mysql -uroot -p(密码)

3) 清理无用用户

  如果用户没有用户名或没有主机域没有密码的进行清理

清理无用用户:

mysql> select user,host,password from mysql.user;
+------+-----------------------+-------------------------------------------+
| user | host                  | password                                  |
+------+-----------------------+-------------------------------------------+
| root | localhost             | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| root | localhost.localdomain |                                           |
| root | 127.0.0.1             |                                           |
| root | ::1                   |                                           |
|      | localhost             |                                           |
|      | localhost.localdomain |                                           |
| root | %                     | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
+------+-----------------------+-------------------------------------------+

drop user ''@'localhost'

3.2 如果误删了所有用户

因为验证用户信息是在连接层来验证用户,把连接层验证模块关掉,tcp/ip链接协议关掉,防止被外网连接

命令 : mysql_safe --skip-grant-tables--skip-networking &

mysql的启动参数 --skip-grant-tables不开启验证模块(登录就不验证用户名密码了)

本地能登录,验证模块都关闭了,远程也能登录,关闭远程连接 --skip-nerworking

  1 .停掉服务(/etc/init.d/mysqld stop)

  2 mysql_safe--skip-grant-tables --skip-networking &

  3. mysql

  4. use mysql

  5. insert into user(user,host,password,ssl_type,ssl_cipher,x509_issuer,x509_subject) values ('root', 'localhost', PASSWORD('123'), ' ', ' ', ' ',' ');

  6. /etc/init.d/mysqld restart

3.3 忘记root用户密码

  1. /etc/init.d/mysqld stop
  2. mysqld_safe --skip-grant-tables --skip-networking &
  3. mysql
  4. use mysql
  5.  5.6以前版本:update user set password=PASSWORD('1') where user='root' and host='localhost';
  6.  5.7以上版本:update user set authentication_string=PASSWORD('1') where user='root' and host='localhost';
  7. flush privileges;刷新授权
  8. ****  对于修改密码不建议使用 ,建议使用grant命令

4.用户管理-用户创建

# 创建用户
# 指定主机域创建用户并设置密码
create user www@'10.0.0.%' identified by '123';

# 查询用户
select user,host,password from mysql.user;

 

posted @ 2020-11-11 15:07  Bo7-w  阅读(103)  评论(0编辑  收藏  举报