mySQL更改端口与允许客户端访问

更改端口3308:

1)复制my-default.ini改名为my.ini,修改port=3308,去掉注释的#(文件在安装目录下,本人为:D:\Program Files\MySQL\MySQL Server 5.7)


2)关闭服务:net stop mysql57(在cmd:D:\Program Files\MySQL\MySQL Server 5.7\bin下执行)

为什么是mysql57,请查看服务名称


3)移除服务:mysqld --remove mysql57


4)安装服务:mysqld --install mysql57

5)启动服务:net start mysql57

6)通过localhost,3308登陆时会遇到错误
问题1:用 mysql -u root mysql 出现 cannot connect to mysql server on localhost
问题2:用navicat 登录时出现 1045 access denied for user 'root'@'localhost' using password yes

7)解决问题: 在my.ini末尾加上skip-grant-tables,重启服务后可用localhost,3308登陆


8)但 skip-grant-tables会 但这句话会使很多操作受限制,不建议使用;
继续解决:怎样才能解决既更改了端口号(my.ini),也能用localhost,3308登陆(避免上述的错误),而且还不使操作受限制呢(即去掉skip-grant-tables这句话)?
解决:
①移除my.ini,重启服务,navicat通过localhost,3306登陆(先通过默认端口登陆,默认端口登陆时不会遇到6中的问题)
②在navicat下按F6,执行:grant all privileges on *.* to 'root'@'localhost' identified by 'dbadmin' with grant option;

其中root为用户名,localhost,1234为密码(根据读者情况自行修改)
③拷贝进my.ini,注释掉skip-grant-tables(步骤8中增加的),重启服务
④通过localhost,3308应该可以登陆了

9)如上已经实现了更改端口,本机用localhost可以登陆了;下面实现允许其它客户端远程访问
在navicat下按F6,执行:
grant all privileges on *.* to 'root'@'123.123.123.123' identified by '1234' with grant option;(123.123.123.12为要访问该数据库的IP地址,如果为外网IP访问内网的数据库,需添加端口映射,在此不赘述,有问题的读者请留言)
flush privileges;(重新加载权限)
my.ini下加上skip-name-resolve以加快访问速度,重启服务

10)连接应该成功了,有问题请留言

注:
修改密码:(在navicat下)
1)F6
2)
mysql> UPDATE user SET password=PASSWORD("dbadmin") WHERE user='root';
mysql> FLUSH PRIVILEGES;
mysql> quit;

mysql> SET PASSWORD FOR   root=PASSWORD('dbadmin');
mysql> QUIT



如果解决了你的问题,请给点个赞吧,谢谢~~







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值