mySql服务器安装遇到的问题

自己在服务器安装mysql 8.0版本后,准备要mysql_secure_installation设置配置密码,提示我要输入密码,我还没有设置密码,哪来的密码。后面我尝试几次密码后,均错误,利用ai和网上搜索得到答案都是忘记密码,修改密码的解决方式:先停服务,然后越权授权执行sql设置密码,但是这样操作后还是不行。后来就重新卸载重装安装,终于知道哪个环节错了。

一、mysql临时密码

//执行
mysql_secure_installation

Securing the MySQL server deployment.
// 在这里开始输入我并不知道密码是什么,然后尝试几次报错
Enter password for user root: 
Error: Access denied for user 'root'@'localhost' (using password: YES) 
// 1.安装完mysql后,查找出来是否存在临时密码,执行
sudo grep 'temporary password' /var/log/mysqld.log

// 查找出来有的话,会得到大概这样的结果, root@localhost:后面的字符就是临时密码
[Server] A temporary password is generated for root@localhost: ikUNi2u%i;(Bx


下一步:用临时密码登录并立即改密,初始化配置


image.png

第二:navicat连接报错10060

我想在本地能可以用navicat连接线上数据库,进入到mysql数据库设置

mysql -u root -p

// 查看有哪些数据库
show database

// 使用mysql数据库
use mysql

//查看user表中,连接权限,默认看到root是localhost
 select host, user from user;

//修改权限,可以在本地使用工具连接服务器的数据库
update user set host = '%' where user = 'root';

// 配置生效
FLUSH PRIVILEGES;

然后接着我遇到第二个问题,我本地用navicat建立连接提示10060报错。

图片.png

客户端的“连接超时” 错误,
说明 TCP 三次握手都没完成 → 包根本到不了 3306,与 MySQL 自身无关。
可以查看俩点:

1.是服务器设置安全组要开放3306端口

image.png

2.服务器的防火墙也要有有开放3306端口

// 检查mysqld 真的在3306端口 监听
sudo netstat -tnlp | grep 3306

// 查看开放的防火墙端口
firewall-cmd --list-ports

// 若缺少3306端口,把它加进去
firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

//重新检查下是否加入3306端口
firewall-cmd --list-port

这样用navicat重新连接线上数据库就成功了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容