背景
在腾讯云ECS服务器上部署MYSQL的时候,发现外网无法连接mysql(Dbeaver总是提示连接超时)。
排查的时候发现了3个问题,以及对应的解决方法,希望能给大家帮助。
偶尔做做运维也挺好的?哈哈哈 感谢我的朋友pf部署 – 20220127 14:58
问题
1.service mysql status找不到命令
参考:https://blog.csdn.net/weixin_43404791/article/details/105174074
- 找不到mysqld服务
具体命令
service mysqld status
systemctl status mysqld
结果
Unit mysqld.service could not be found.
具体解决
- 找到mysql.server文件,这个文件据说与mysqld文件一模一样,只是文件名不同
[root@hadoop1 ~] find / -name mysql.server
/app/mysql-5.7.26/support-files/mysql.server
- 复制 mysql.server文件到/etc/init.d/目录下,重命名为mysqld
[root@hadoop1 ~] cp /app/mysql-5.7.26/support-files/mysql.server /etc/init.d/mysqld
- 查看mysqld status状态
[root@hadoop1 ~] service mysqld status
SUCCESS! MySQL running (8838)
- 至此已解决。
2.mysql -u root -p 找不到命令
参考:https://blog.csdn.net/weixin_43404791/article/details/105174074
- 具体命令
[root@hadoop1 ~]$ mysql -uroot -p
-bash: mysql: command not found
- 没有找到命令,改用绝对路径,结果ok
[root@hadoop1 bin] /app/mysql-5.7.26/bin/mysql -u root -p
Enter password:
- 增加环境变量添加软链接
系统默认会查找/usr/bin下的命令,如果该目录下不存在此命令,我们需要做一个映射到/usr/bin目录下,相当于建立链接文件
[root@hadoop1 bin]# ln -s /app/mysql-5.7.26/bin/mysql /usr/bin
[root@hadoop1 bin]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql
- 再次尝试
[root@hadoop1 bin] mysql -u root -p
Enter password:
- 至此已解决。
3.外网连不上mysql
- 问题
mysql无法通过dbeaver来连接这样子
参考:https://www.cnblogs.com/asijack/p/4271685.html
然而没解决问题,这一块我是正常的
- 解决办法:
最终咨询朋友,是因为我云服务的3306端口没开。
- 至此已解决。