CentOS7.x 上安装并配置 MySQL 8.x

如何在 CentOS 7 上安装并配置 MySQL 8.x

MySQL 是最流行的开源关系型数据库管理系统之一,被广泛应用于各种网站和应用程序中。

步骤 1:下载并添加 MySQL 8.x 官方 Yum 仓库

首先,打开终端,下载 MySQL Yum 仓库的 rpm 包:

bash 复制代码
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

下载完成后,添加仓库到你的系统:

bash 复制代码
sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm

步骤 2:安装 MySQL 8.x

现在你可以使用 Yum 命令安装 MySQL 8.x 了:

bash 复制代码
sudo yum install mysql-community-server

步骤 3:启动 MySQL 服务并设置开机启动

安装完毕后,启动 MySQL 服务:

bash 复制代码
sudo systemctl start mysqld

设置 MySQL 服务开机自启:

bash 复制代码
sudo systemctl enable mysqld

步骤 4:运行安全配置脚本

运行 mysql_secure_installation 脚本,按提示设置密码策略和其他安全选项:

bash 复制代码
sudo mysql_secure_installation

步骤 5:增加自定义配置文件

MySQL 的默认配置文件通常位于 /etc/my.cnf,你可以在 /etc/my.cnf.d/ 目录下添加自定义配置文件,MySQL 启动时会读取这些文件。

  1. 创建一个新的配置文件,例如 custom.cnf
bash 复制代码
sudo nano /etc/my.cnf.d/custom.cnf
  1. 在文件中添加你的自定义配置。例如,如果你想修改最大连接数和缓存大小,可以添加如下配置:
ini 复制代码
[mysqld]
max_connections = 100
innodb_buffer_pool_size = 512M
  1. 保存并关闭文件。

请根据你的实际需要调整这些值。更多配置选项和详细信息,请参考 MySQL 官方文档。

步骤 6:重启 MySQL 服务

为了应用你的配置更改,重启 MySQL 服务:

bash 复制代码
sudo systemctl restart mysqld

在安装并配置 MySQL 8.x 的过程中,配置账号密码是一个重要的安全措施。以下是如何为你的 MySQL 数据库设置账号密码和进行基础的用户管理的步骤:

步骤 7:初始密码获取

MySQL 8.x 安装完成并首次启动后,系统会自动生成一个临时的 root 密码。你可以通过查看 mysqld 的日志文件来找到这个密码:

bash 复制代码
sudo grep 'temporary password' /var/log/mysqld.log

记下显示的临时密码,你将在初次登录时使用它。

登录 MySQL

使用以下命令并输入临时密码来登录 MySQL:

bash 复制代码
mysql -u root -p

系统会提示你输入密码,此处应输入你之前找到的临时密码。

修改 root 密码

在成功登录 MySQL 后,你可以修改 root 用户的密码。为此,可以使用以下 SQL 命令,确保将 your_new_password 替换为你自己的新密码:

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';

创建新用户并设置密码

你可能不希望总是使用 root 账户操作数据库,为此,创建新的用户账户是一个好主意。以下是创建新用户并为其设置密码的命令:

sql 复制代码
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'user_password';

确保将 new_user 替换为新用户的用户名,将 user_password 替换为该用户的密码。

授权新用户

创建用户后,你需要为其分配适当的权限。以下命令将为新用户授予对所有数据库的所有权限(在实际使用中,你可能需要更细粒度的权限控制):

sql 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' WITH GRANT OPTION;

刷新权限

在创建新用户或更改权限后,需要刷新 MySQL 的权限设置,以确保更改立即生效:

sql 复制代码
FLUSH PRIVILEGES;

退出 MySQL

完成所有操作后,你可以使用 exit 命令退出 MySQL:

sql 复制代码
exit

步骤 7:验证配置

验证你的配置是否生效,可以登录到 MySQL 服务器,然后执行以下命令:

bash 复制代码
mysql -u root -p -e "SHOW VARIABLES LIKE 'max_connections';"
mysql -u root -p -e "SHOW VARIABLES LIKE 'innodb_buffer_pool_size';"
相关推荐
零度@26 分钟前
SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)
数据库·笔记·sql
Miss_Chenzr28 分钟前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
lvbinemail43 分钟前
Grafana模板自动复制图表
数据库·mysql·zabbix·grafana·监控
Miss_Chenzr1 小时前
Springboot旅游景区管理系统9fu3n(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·旅游
小虾米vivian1 小时前
dmetl5 运行失败,提示违反协议?
数据库·达梦数据库
weixin_448119941 小时前
Datawhale Hello-Agents入门篇202512第1次作业
数据库·sql·mysql
皮皮林5511 小时前
有了开源的 MySQL,为什么还要选择 PostgreSQL?
mysql
JIngJaneIL2 小时前
基于java + vue校园快递物流管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js
廋到被风吹走2 小时前
【数据库】【MySQL】分库分表策略 分类、优势与短板
数据库·mysql·分类
嘻哈baby3 小时前
Redis高可用部署与集群管理实战
数据库·redis·bootstrap