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

更改端口3308:

1)复制my-default.ini改名为my.ini,修改port=3308,去掉注释的#(文件在安装目录下,本人为:D:\Program Files\MySQL\MySQL Server 5.7)
mySQL更改端口与允许客户端访问_第1张图片

2)关闭服务:net stop mysql57(在cmd:D:\Program Files\MySQL\MySQL Server 5.7\bin下执行)
mySQL更改端口与允许客户端访问_第2张图片
为什么是mysql57,请查看服务名称
mySQL更改端口与允许客户端访问_第3张图片


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登陆
mySQL更改端口与允许客户端访问_第4张图片

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;
mySQL更改端口与允许客户端访问_第5张图片
其中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



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







你可能感兴趣的:(mySQL)