mysql远程权限问题
一、创建用户并授权
1、登录
mysql mysql -u root -p
2、创建数据库
create database test;//以创建test为例
3、创建用户创建user01,只能本地访问
create user user01@'localhost' identified by 'password';
创建user02,可以远程访问
create user user02@'%' identified by 'password'
4、修改用户密码以user01为例:
set password for 'user01'@'localhost'=password('anotherpassword')
5、授权授予user01管理test的全部权限
grant all privileges on test.* to user01;
授予user02查看权限,并修改密码
grant select on *.* to 'user02'@'%' identified by 'anotherpassword';
授予所有权限
GRANT ALL PRIVILEGES ON *.* TO zhangsan@"%" IDENTIFIED BY "lisi";
二、设置mysql允许远程连接(ubuntu系统)
1、 sudo vi /etc/mysql/my.cnf
2、注释掉如下两行: bind-address=127.0.0.1 skip-network(mysql5.6版本里没有这行)
3、sudo service mysql restart
结合一中的授权,被授权用户可以远程访问
方案一:如果你的 MySQL 是 8.0 或更高版本(推荐)
这是最标准的做法,将创建用户和授权分为两步:
第一步:创建用户
sql
CREATE USER 'arbor'@'%' IDENTIFIED BY 'password123';
注意:如果密码中的特殊字符(如 ! 或 #)仍引发问题,可以尝试用单引号把整个密码括起来,确保密码被完整识别。
第二步:授予权限
sql
GRANT ALL PRIVILEGES ON . TO 'arbor'@'%';
(可选)刷新权限
sql
FLUSH PRIVILEGES;

浙公网安备 33010602011771号