1. Mysql 用户账号

1.1. 格式

mysql 用户账号由两部分组成:
'USERNAME'@'HOST'

1.2. HOST

HOST 限制此用户可通过哪些远程主机连接 mysql 服务器。IP地址或Network。
支持使用通配符:

通配符

描述

%

匹配任意长度的任意字符

172.16.0.0/255.255.0.0 或 172.16.%.%

_

匹配任意单个字符

2. 用户管理

2.1. 创建用户:CREATE USER

CREATE USER 'USERNAME'@'HOST' [IDENTIFIED BY 'password'];
create user test@'172.16.34.%' identified by 'centos';

默认权限:USAGE

2.2. 用户重命名:RENAME USER

RENAME USER old_user_name TO new_user_name;

2.3. 删除用户:

DROP USER 'USERNAME'@'HOST‘

示例:删除默认的空用户

DROP USER ''@'localhost';

2.4. 修改密码:

mysql> SET PASSWORD FOR 'user'@'host' = PASSWORD('password');
mysql> UPDATE mysql.user SET password=PASSWORD('password') WHERE clause;
mysql> FLUSH PRIVILEGES;    ## 此方法需要执行该指令才能生效
mysqladmin -u root -poldpass password 'newpass'

3. 忘记管理员密码的解决办法:

(1) 启动mysqld进程时,为其使用如下选项:

--skip-grant-tables    
--skip-networking

或者

[mysqld]  
skip-grant-tables	#跳过授权文件  
skip-networking		#跳过网络,防止用户从网络访问

(2) 使用 UPDATE 命令修改管理员密码。

update mysql.user set password=password('centos') where userr='root';

(3) 关闭 mysqld 进程,移除上述两个选项,重启 mysqld。

书山有路勤为径,学海无涯苦作舟