在 Centos 7(腾讯云服务器) 中安装 MySql 8,并实现远程连接数据库
前言
这是我在安装过程中遇到的坑,结合网上各种经验贴,记录的一篇笔记,以防日后遗忘。
在 Centos7.6 中安装 MySql
1、添加 yum 包
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
2、安装 Mysql
yum install mysql-community-server
3、启动 MySql
# 启动守护进程
sudo systemctl start mysqld
安装完后,MySQL 会在系统启动时自动启动,如果不想让它自动启动,可以使用 systemctl disable mysqld
关闭它。
配置 MySql
1、修改登录密码
mysql 安装完成之后,在 /var/log/mysqld.log 文件中给 root 生成了一个默认密码。通过下面的方式找到 root 默认密码,然后登录 mysql 进行修改:
grep 'temporary password' /var/log/mysqld.log
如下图,圈起来的就是默认密码:
本地 MySQL 客户端登录:
mysql -u root -p
再输入默认密码,就可以进入 Mysql 客户端:
然后修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test@123456';
密码强度要求是:不少于12字符,必须包含大写字母、小写字母、数字和特殊字符。
如果想设置如 123456 这样简单的密码,我们需更改 MySql 的密码策略。
注意,一定要先设置一个复杂且符合要求的密码,再进行后续操作。
2、为了设置简单密码,修改密码策略
先进入 MySQL 客户端
// 第一步
mysql -u root -p
// 第二步
输入密码
如果已经在 MySQL 客户端中,就忽略这步。
查看MySQL完整的初始密码规则,登陆后执行以下命令
SHOW VARIABLES LIKE 'validate_password%';
修改密码长度:
set global validate_password.length=6;
修改密码等级:
set global validate_password.policy=0;
再次执行修改密码语句:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
使用 quit
退出 MySQL 客户端,重新启动mysql服务使配置生效:
systemctl restart mysqld
然后,就可以使用新密码 123456 登陆了。
设置远程登录
默认只允许 root 帐户在本地登录,如果要在其它机器上连接 mysql,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户。
首先进入 MySQL 客户端,修改 root 用户远程访问权限:
选择 mysql 数据库:
use mysql;
在 mysql 数据库的 user 表中查看当前 root 用户的相关信息:
select host, user from user;
查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。
授权 root 用户设置远程访问:
update user set host='%' where user ='root';
然后使用下面命令使修改生效:
flush privileges;
远程登录
这里,我使用的 MySQL-font 进行远程登录安装在腾讯云服务器上的 MySQL。
输入主机 IP 和 MySQL 密码,就可以了。
登录后,如下图:
安装 MySQL8 后,自带有 information_schema、mysql、performance_schema、sys 这四个数据库。
参考文章
远程连接数据库 出现 Client does not support authentication protocol requested by server的解决方法
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
每天学习一点点,每天进步一点点。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具