阿里云ECS主机远程连接mysql8数据库的注意事项

前言

  • 最近使用阿里云ECS主机,想搭建一个论坛,需要数据的支持,默认阿里云ECS主机是个【空白】的ubuntu 20.04,需要手动安装配置mysql
  • 经过一番折腾,包括设置【防火墙】、设置【阿里云安全组】,远程依旧无法连接mysql8数据库
  • 注意mysql8 与之前的mysql5,操作稍微有点区别

问题原因

  • 远程连接的用户,可以不是root,可以新建其他的用户,但需要加入到mysql8 中的 mysql user数据表中
  • 使用ssh 连接阿里云主机后,使用mysql -u root -p 登录 mysql
  • 如果第一次使用root登录报错,需要使用mysql8 的内置账号登录
cat /etc/mysql/debian.cnf 
[client]
host     = localhost
user     = debian-sys-maint
password = 6vY9wxj356jcxxxx
socket   = /var/run/mysqld/mysqld.sock
  • 内置账号:debian-sys-maint,密码默认是一串字符,每台机器都不相同,只能内网访问
  • 登录后,use mysql 注意不需要分号(;)
  • 可以添加mysql用户,注意要把host 改为 %,%代表 IP访问
mysql> select host, user, plugin from user;
+------+------------------+-----------------------+
| host | user             | plugin                |
+------+------------------+-----------------------+
| %    | debian-sys-maint | mysql_native_password |
| %    | mysql.infoschema | mysql_native_password |
| %    | mysql.session    | mysql_native_password |
| %    | mysql.sys        | mysql_native_password |
| %    | root             | mysql_native_password |
| %    | zhangsz          | caching_sha2_password |
+------+------------------+-----------------------+
6 rows in set (0.00 sec)

  • 注意:账号的:plugin 改为: mysql_native_password
  • 如上配置,开启【阿里云的安全组】,就可以远程登录mysql8了
  • 可以安装:phpmyadmin,这样远程数据库的连接会正常

小结

  • 遇到问题,多搜索,多实际动手验证,多分析与总结
  • 不断积累解决问题的经验
上一篇:ubuntu 安装 mysql


下一篇:Spring MVC @RequestParam注解