前言
- 最近使用阿里云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,这样远程数据库的连接会正常
小结
- 遇到问题,多搜索,多实际动手验证,多分析与总结
- 不断积累解决问题的经验