1.修改配置文件/etc/my.cnf,在[mysqld]下面添加一行代码:skip-grant-tables
2.service mysqld restart
3.mysql -uroot -p //此时直接回车,既可以进入数据库。
4.进数据库后,use mysql; //选择mysql这个库,因为mysql的root密码存放在这个数据库里。
5.show tables; //查看下mysql库里有哪些表,我们需要操作的用户名密码都在user表里。
6.desc user; //查看下user表有哪些字段。
7.flush privileges;
8.alter user 'root'@'localhost' identified by '123456';
9.flush privileges;
10.mysql>quit;
11.去掉my.cnf最开始加入的 [mysqld]和skip-grant-tables
12.重启数据库:service mysqld restart
13.采用新密码登录:mysql -uroot -p新密码
Query OK, 0 rows affected (0.03 sec)
14.至此,MySQL数据库修改初始化密码完毕。以下是设置远程访问mysql,不然我们本地是链接不上的。
15.mysql>use mysql;
16.mysql>select user,host from user;
localhost表示允许本地登录,想要远程登录mysql,需要修改权限为%。
17.update user set host='%' where user = 'root';
18.flush privileges;
19.select user,host from user;
20.到这里我们就可以使用root用户远程链接数据库了,但是可能不安全,可以开通一个子管理员,不需要的话可以免了~~。
21.参考网址:https://blog.csdn.net/weixin_52540274/article/details/120552729
22.阿里云服务器ESC MySQL开放3306端口详解,请参考以下网址:
https://blog.csdn.net/qq_25851237/article/details/109554885
23.至此,可以通过Navicat Premium远程连接阿里云服务器ECS上的MySQL数据库了!