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';"
相关推荐
Mr.朱鹏8 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
摇滚侠8 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
qiuhaipeng18 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
云贝贝贝9 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
wxwx_bscxy3229 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
剑之所向10 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
词却10 小时前
数据库基础:DQL 数据查询语言
数据库·oracle
昌原的儿子LEO12 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle
山岚的运维笔记12 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
聚美智数12 小时前
网安查询-备案查询-网络安全查询API接口介绍
网络·数据库·web安全