一般我们在mysql中新增新的用户会使用如下步骤:
- 创建用户
create user testuser identified by 'password';
- 创建数据库
create database testdb;
- 为新建的用户附权限,能够访问新建数据库的所有数据
grant all privileges on testdb.* to testuser;
- 最后刷新权限
flush privileges;
经过上述4步之后,可通过如下语句查看用户是否创建成功:
但是用这种方式创建的用户是没有密码的,虽然我们第一步就通过identified by 关键字指定了密码,我们可以通过如下语句验证:
select * from mysql.user where user='easyreport' \G
可以看到密码这一栏是空的,通过数据库连接软件去测试连接,不输入密码也的确是能够连通的
解决方案:
- 删除用户,重新创建用户时指定host
这时候再去查看用户信息时,密码字段就不再是空了:
我们再通过数据库连接工具输入密码尝试连接:
2. 修改密码
set password for 用户名@localhost = password('新密码');