MySQL 数据库创建用户并授权远程访问

一、对于 MySQL 5.7

  • 首先先登录root用户
>>> mysql -uroot -p
  • 然后新建一个用户
>>> create user 'username'@'localhost' identified by 'password';
  • 授权用户远程访问,根据需求为此用户设定权限
# 1) 授权用户访问所有数据库
>>> grant all privileges on  *.* to 'username'@'%' identified by 'password';

# 2) 授权用户访问只可访问特定的数据库中的所有表
>>> grant all privileges on  DatabaseName.* to 'username'@'%' identified by 'password';

# 3) 用户只有对特定数据库具有select 、insert 权限
>>> grant select,insert on  DatabaseName.* to 'username'@'%' identified by 'password';

# 4) 用户只有对特定数据库中的特定表具有select 、insert 权限
>>> grant select,insert on  DatabaseName.tablename to 'username'@'%' identified by 'password';
  • 最后,让修改生效,完成
>>> flush privileges;

对于 MySQL 8.0及以上

  • 首先docker 安装mysql
>>>  docker pull mysql

# 创建mysql容器的挂载目录 
>>> mkdir -p /home/mysql

# 运行容器
>>>  docker run -itd --name mysql_v8  -p 3306:3306 -v /home/mysql:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD=123456

# 进入容器
>>> docker exec -it mysql_v8 bash

# 登录mysql,输入密码123456
>>> mysql -uroot -p

#设置远程登录
>>> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

  • 用客户端连接mysql,连接成功!

  • 注意,可以使用idea的mysql工具,并在里面手动配置权限,效果是一样的。如图:


    image.png

你可能感兴趣的:(MySQL 数据库创建用户并授权远程访问)