云服务器(一).安装mysql 8.0并远程连接

目录:

  1. 最新推荐:上传安装包安装
    Linux安装MySQL8_精致的码者的博客-CSDN博客

  2. CentOS 8 安装MySQL 8.0

  3. Mysql8.0 3306端口无法远程连接

  4. 建议:通过yum安装mysql 更方便
    Linux下yum安装MySQL指定版本:Linux下yum安装MySQL yum安装MySQL指定版本_jerome-CSDN博客

在阿里云上搭建MySql8.0数据库服务,在阿里云上可以成功连接登陆使用,但用自己的电脑远程连接时却无法成功连接

经过资料查找,找出原因如下:

1、首先通过查看MySQL的的用户信息

可以看到host字段均为localhost,意思是只允许本地IP访问

执行 update mysql.user set host = '%' where user = 'root';

设置允许被任意IP地址访问

然后执行 flush privileges;

让改动生效

2、第二个原因是MySql 8.0版本修改了默认的加密规则,用Navicat连接会报错,解决办法为执行如下语句
alter user 'root'@'%' identified with mysql_native_password by '123456';

'root'@'%' 中root为用户名,'%'为user表host字段的值。'123456'为用户密码。

然后就远程连接了

三. Navicat连不上远程阿里云服务器MySQL数据库的几个原因

背景: 今天在天翼云CentOs里部署MySQL,用ssh连上可以进入数据库,但是本地Navicat就是连不上。如图:

过程:到处看帖子,各种尝试,过程如下:
1.有的帖子提醒要先开启mysql服务:systemctl satrt mysqld.service 这个等同于废话,肯定会先开服务再尝试连接的。
2.有的提醒要修改配置文件:vim /etc/my.cnf 将文件中的bind-address =127.0.0.1注释掉。但是我的文件压根就没有这句话,应该是版本不同,所以忽视。
3.有的提醒要授权给网络上其他主机访问数据库,这一点还是有用的:进入MySQL命令之后:
use mysql;
grant all privileges on * . * to ‘root’@’%’ identified by ‘你的密码’;
flush privileges;
这里%表示所以主机,而不只是localhost
4.有的提醒要修改一下密码:基本上没啥用
5.有的提示开放3306端口,我的服务器防火墙都是关闭的,不存在这个问题,但是为了排除,我由打开防火墙,开放3306端口。这一步其实有用,但是我弄错了地方。
6.最终解决方法是:在阿里云控制台里给服务器的安全组添加规则,开放3306端口。 这是把我坑惨了,之前不知道阿里云服务器自带防火墙(一般云服务器都自带防火墙),所以在CentOs里折腾防火墙一点用都没有,这里没开怎么也连不上。坑了我一个多小时,真是无语了。所以如果是用的阿里云服务器前面的方法都没解决的可以试试是不是安全组里没开放3306端口。 如图:


之前没开3306就不行,开了立马就好了!问题解决。
————————————————
版权声明:本文为CSDN博主「阿拉海底洞」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ADDLHX/article/details/83620440

四.mysql.sock 误删

原文地址:mysql.sock 误删 - 老白网络 (yzktw.com.cn)

MySQL是一款流行的关系型数据库系统,它被广泛应用于Web应用程序和其他数据驱动的应用程序。MySQL的安装和使用是相对简单的,但有时会出现意想不到的问题,如MySQL的套接字文件mysql.sock被误删。

在MySQL中,套接字文件mysql.sock是用于服务器进程进程间通信的重要文件之一。如果这个文件被误删,那么MySQL服务器进程就无法启动。当你试图启动MySQL时,你会看到这个错误信息:

Can't connect to local MySQL server through socket '/tmp/mysql.sock'

这意味着MySQL服务器进程无法通过Unix套接字连接到MySQL客户端。如果你看到这个错误,你需要恢复mysql.sock文件。

下面是一些你可以尝试的方法来恢复mysql.sock文件。

方法一:通过查找其他套接字文件来替换mysql.sock

# 在终端中运行以下命令,查找一个可用的套接字文件
sudo find / -type s -name '*.sock'
# 找到了其他套接字文件后,将其复制到MySQL的套接字目录(/tmp或/var/lib/mysql)下并重命名为mysql.sock
sudo cp /path/to/other.sock /var/lib/mysql/mysql.sock

方法二:通过重新启动MySQL来创建mysql.sock文件。

# 在终端中输入以下命令查找MySQL进程id
ps aux | grep mysqld
# 查找到MySQL进程id后,终止进程
sudo kill -9# 重新启动MySQL即可重新创建mysql.sock文件
sudo service mysql start

以上方法可以尝试来恢复mysql.sock文件,但请注意,在使用这些方法之前,建议先备份所有可能受到影响的数据和文件,以防止数据丢失或损坏。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值