Mysql中新建用户,设置密码

Mysql中新建用户,设置密码
1. 新建用户
step 1.创建用户:
CREATE USER 'aaa'@'%' IDENTIFIED BY '123456';表示创建新的用户,名为aaa,新用户密码为123456,'%'表示允许远程登陆但是不允许本机登录
CREATE USER 'bbb'@'%' IDENTIFED BY '123456';//表示新创建的用户,名为bbb,这个用户密码为123456,可以从其他电脑远程登陆mysql所在服务器
CREATE USER 'ccc'@'%';//表示新创建的用户ccc,没有密码,可以从其他电脑远程登陆mysql服务器

step 2.授权用户:GRANT ALL PRIVILEGES ON appmetadataDB.* TO 'aaa'@'%';表示将数据库appmetadatadb下的所有表授权给用户aaa。这样用户名aaa就能远程访问到这个数据库(appmetadatadb)下的所有表。写入user表,但是并没有及时写入权限表(grant table)。

step 3.刷新权限表:flush privileges执行这个命令的原因是,需要将新加入的用户写入到权限表中,即更新grant table

step 4.查看如下

mysql> select host,user,password from mysql.user;


这里的mysql.user是一个系统表,任何mysql数据库系统都会存在。

检测如下
如果在appmetadatadb数据库所在的系统上登录用户aaa会报错。错误如右:ERROR 1045 (28000): Access denied for user 'aaa'@'localhost' (using password: YES)。但是将相同的代码放到另一台主机上登录,却可以实现登录。
这个教训一定要记住:就是创建用户时,指定的%是指除了数据库所在主机外的所有主机都可以登录。比如说,下面这个是用bbb这个用户,在虚拟机上远程访问物理机上的数据库,但是在访问的时候,需要在添加-h [数据库所在主机的IP]字段。
2. 修改密码
修改用户密码,方法有很多,这里提供其中的两种:

set password for 'bi_reader'@'%' = password('123');,其中[]中的内容是可变字段
  1. qiu lao ban chu lai chi fan.