mysql 8 开启远程账号访问

直入正题>>>>>

附:官方文档
切到mysql库 , 查看一下当前的user信息

mysql> use mysql;
Database changed
mysql> select host,user,plugin from user;
+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session    | caching_sha2_password |
| localhost | mysql.sys        | caching_sha2_password |
| localhost | root             | caching_sha2_password |
+-----------+------------------+-----------------------+
4 rows in set (0.00 sec)

host : 允许的客户端主机名

重点介绍 % : 允许 任何主机

还可以是 空白(同%,优先级更低)、 IP地址、 CIDR 表示法的ip、带有子网掩码的ip

user : 允许的用户名

这就是一个登陆用户名

现在可以看到,root账号是只允许 localhost 的客户端连接的
上面这种情况一般是mysql安装好的默认状态,我不想公开root,我来新建一个账号供远程访问

1、创建一个供远程访问的账户

创建用户 账号:account 密码 123456 (注意改为自己的)

mysql> create user 'account'@'%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
'account'@'%' 其中 account是账号,% 就是上面提到的 host

2、使用现有账户供远程访问

mysql> update user set host = '%' where user ='account';
其中 account 是你现有的账号

上面两步(任意一步)操作完就可以使用该账号远程连接了,若还是不行,请看最后提示

3、更新内存信息(好像不用也行)

FLUSH PRIVILEGES;

4、远程访问开启了,设置授权列表

查看账号都有哪些数据库的权限,以下显示的是只有 my_database 数据库的所有权限(ALL PRIVILEGES)
   show grants for account@'%';
   +--------------------------------------------------------+
   | Grants for account@%                                     |
   +--------------------------------------------------------+
   | GRANT USAGE ON *.* TO `account`@`%`                      |
   | GRANT ALL PRIVILEGES ON `my_database`.* TO `account`@`%` |
   +--------------------------------------------------------+
  

   #user=accont host=% 的账户 开放Test数据库的所有表的 所有 权限
  grant all privileges on `Test`.* to 'account'@'%' ;

   #user=accont host=% 的账户 开放Test数据库的所有表的 查询 权限
  grant select privileges on `Test`.* to 'account'@'%';   

   #user=accont host=% 的账户 开放所有数据库的所有表的 所有 权限
  grant all privileges on *.* to 'account'@'%';   

	#权限参考
	all 所有权限
	select 查询权限
	insert 插入权限
	delete 删除权限
	update 更新权限

  FLUSH PRIVILEGES; 			#刷新权限

附:删除user

DROP USER 'user名'@'host名'

附:若是不能远程访问,这一步可供参考

找到mysql的配置文件 my.cnf

  1 # Default Homebrew MySQL server config                                                                                                                                                                                     
  2 [mysqld]
  3 # Only allow connections from localhost
  4 bind-address = 127.0.0.1
  5 mysqlx-bind-address = 127.0.0.1

上面两个ip默认是本地的,修改为 0.0.0.0 然后重启mysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值