小白兔晒黑了

导航

 

0 我的环境

我在本地windows上开发,跑在服务器上的程序需要访问我的win本地数据库

1 打开mysql的bin目录

 cd F:\program\phpstudy_pro\Extensions\MySQL8.0.12\bin

2 登录

 .\mysql -u root -p

3 切换数据库

 use mysql;

 

4 创建远程用户

4.1 #删除匿名用户,没有可不删

delete from user where user='';

4.2 创建远程用户

4.2.1 #mysql版本8.0以下使用以下命令

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

4.2.2 #mysql版本8.0及以上使用以下命令:

4.2.2.1 创建用户

create user ttt@'%' identified by '123456';

4.2.2.2 赋权操作

grant all privileges on *.* to ttt@'%' with grant option;
  • GRANT:赋权命令
  • ALL PRIVILEGES:当前用户的所有权限
  • ON:介词*.*:当前用户对所有数据库和表的相应操作权限
  • TO:介词
  • ‘root’@’%’:权限赋给root用户,’%’代表所有ip都能连接
  • IDENTIFIED BY ‘123456’:连接时输入密码,密码为123456
  • WITH GRANT OPTION:允许级联赋权

4.2.2.3 密码认证

MySQL 8.0 的新特性,默认认证方式改为 SHA2 了,但远程访问的方式仍然是密码认证。
所以我们得把 SHA2 认证改为 密码认证。

ALTER USER 'ttt'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

4.3 如果需要指定访问主机

可以把%替换为主机的IP或者主机名,root为用户名,by后面是远程登录的密码,大家根据自己的情况进行相应的修改。

1

CREATE USER ttt2@'10.10.10.234' IDENTIFIED BY '123456';

2

GRANT ALL PRIVILEGES ON *.* TO ttt2@'10.10.10.234' WITH GRANT OPTION;

3

ALTER USER 'ttt2'@'10.10.10.234' IDENTIFIED WITH mysql_native_password BY '123456';

 

5 退出并重启mysql

quit;
net stop mysql ;

net start mysql;

6 开启windows端口

控制面板------>系统与安全------>Windows Defender防火墙------->高级设置------>入站规则------>端口------>TCP------>3306------>随便起个名:mysql远程端口

然后再设置相同的出站规则

 

 

 

 

 6.1进站规则

 

 

 

 

 

 

 

 

 

6.2 同理 再设置出站规则

 

7 查看mysql配置文件my.ini有没有访问限定(一般不需要设置)

 

 

 

 

  • bind-address=127.0.0.1 #只允许本机访问。
  • bind-address=某个网卡的ip #例如bind-address=192.168.1.101,只能通过ip为192.168.1.101的网卡访问。
  • bind-address=0.0.0.0 #此规则是系统默认配置,监听所有网卡,即允许所有ip访问。

具体看这里

https://www.cnblogs.com/valley-yyds/p/15625091.html

改完要重启一下,一般不需要改

8 测试连接是否成功

查看安装mysql服务的windows主机A的ip地址

ipconfig

 

 我是无线局域网

 

 在另一台主机B上连接

 

mysql -h 10.10.10.114 -u ttt  -P 3306 -p123456

 代表成功了

9 参考

https://blog.csdn.net/qq_20037279/article/details/120795563?utm_term=windows%E4%B8%8B%E8%AE%BE%E7%BD%AE%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AEmysql&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-3-120795563-null-null&spm=3001.4430

如果不成功,把防火墙关掉试试,我是avast需要关闭防火墙

 

posted on 2022-09-23 02:12  小白兔晒黑了  阅读(1595)  评论(0编辑  收藏  举报