CentOS上安装MySQL 5.7和MySQL 8.0教程

🌟 前言

欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍

CSDN

CentOS上安装MySQL 5.7和MySQL 8.0教程

卸载旧版本的MySQL

CentOS是一个稳定且广泛使用的Linux发行版,它为企业级服务器提供了一个坚实的基础。MySQL则是一个强大的开源数据库系统,它支持各种应用程序的数据存储需求。本文将指导您如何在CentOS上安装MySQL 5.7和8.0版本,帮助您搭建一个可靠的数据管理平台。在安装新版本的MySQL之前,确保系统中没有旧版本的MySQL。如果有,请按照以下步骤卸载:

# 检查系统中已安装的MySQL相关包
rpm -qa | grep -i mysql

# 卸载MySQL社区版相关包
rpm -ev --nodeps mysql-community-common-5.7.44-1.el7.x86_64
rpm -ev --nodeps mysql57-community-release-el7-10.noarch
rpm -ev --nodeps mysql-community-libs-5.7.44-1.el7.x86_64
rpm -ev --nodeps mysql-community-server-5.7.44-1.el7.x86_64
rpm -ev --nodeps mysql-community-client-5.7.44-1.el7.x86_64

# 查找并删除MySQL相关文件和目录
find / -name mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql

# 删除MySQL配置文件
rm -rf /etc/my.cnf

# 再次检查系统中是否还有MySQL相关包
rpm -qa | grep -i mysql
rpm -qa | grep mariadb

环境准备

在安装MySQL之前,请确保您的CentOS系统满足以下条件:

# 确保网络连接正常,以便下载必要的软件包和仓库配置
# 确保wget工具已安装,用于下载MySQL安装包
yum install wget

安装MySQL 5.7版本

下载与安装

# 下载MySQL 5.7社区版的yum仓库配置包
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

# 安装MySQL 5.7社区版仓库配置包
yum -y install mysql57-community-release-el7-10.noarch.rpm

# 安装MySQL社区服务器
yum -y install mysql-community-server

# 导入MySQL的公钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

# 启动MySQL服务
systemctl start mysqld.service

# 检查MySQL服务状态
systemctl status mysqld.service

登录

# 获取临时密码
grep "password" /var/log/mysqld.log

# 登录MySQL
mysql -uroot -p

配置

配置密码安全策略(可选)
# 设置密码安全策略
set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=0;
set global validate_password_special_char_count=0;
set global validate_password_length=3;
修改密码
# 修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

# 推出
exit;

# 重启MySQL服务
service mysqld restart

# 使用新密码登录MySQL
mysql -uroot -p
配置编码格式
# 查看编码格式
status;

# 输出
...
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    gbk
Conn.  characterset:    gbk
TCP port:               3306
...

# 设置客户端编码
[client]
default-character-set=utf8

# 设置服务器编码
set character_set_server=utf8;
set collation-server=utf8_general_ci;

# 设置其他编码相关配置
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
配置远程连接
# 关闭防火墙(如果需要)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

# 配置远程连接
grant all privileges on *.* to 'root'@'%' identified by 'new_password' with grant option;
flush privileges;

# 推出
exit;

# 重启MySQL服务
systemctl restart mysqld

重启检查启动

# 重启MySQL服务
service mysqld restart

# 检查MySQL服务是否启动
systemctl status mysqld
# 或者
ps -ef | grep mysqld

安装MySQL 8.0版本

下载与安装

# 下载MySQL 8.0社区版的yum仓库配置包
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 安装MySQL社区服务器
sudo yum --enablerepo=mysql80-community install mysql-community-server

配置

配置安全策略(可选)
# 设置密码验证策略
set global validate_password.policy=MEDIUM;
set global validate_password.mixed_case_count=0;
set global validate_password.number_count=0; 
set global validate_password.special_char_count=0; 
set global validate_password.length=8;  

# 显示密码验证策略
show variables like 'validate%';
修改密码
# 获取临时密码
grep "A temporary password" /var/log/mysqld.log;

# 临时密码登录
mysql -uroot -p

# 修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

# 使用新密码登录MySQL
mysql -uroot -p
配置编码格式
# 查看编码格式
status

# 输出
...
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    gbk
Conn.  characterset:    gbk
TCP port:               3306
...

# 修改
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;

远程连接
# 创建远程用户并授予权限
use mysql;
CREATE USER 'root'@'%' IDENTIFIED BY 'new_password';
grant all privileges on *.* to 'root'@'%';
flush privileges;

# 推出
exit;

# 重启MySQL服务
systemctl restart mysqld

重启与检查

# 重启MySQL服务
systemctl restart mysqld

# 检查MySQL服务状态
systemctl status mysqld
# 或者
ps -ef | grep mysqld

以上是在CentOS系统上安装MySQL 5.7和MySQL 8.0的详细步骤。请在执行每个步骤之前确保理解其含义,并根据实际情况调整配置。如果在安装过程中遇到问题,请随时提问。祝你安装顺利!

🎉 结语

感谢你的访问,期待与你在技术的道路上相遇!👋🌟🚀

### MySQL 5.7 8.0 安装指南 #### 准备工作 在开始安装前,确保操作系统环境已经准备好,并且拥有足够的权限来完成安装操作。对于CentOS系统来说,建议先更新系统的软件包列表并确认已关闭SELinux。 #### 下载MySQL安装包 前往官方或可信第三方源下载对应版本的MySQL压缩包。例如,在阿里云开源镜像站可以找到名为`mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz`这样的文件用于MySQL 8.0的离线部署[^3];而对于MySQL 5.7,则应寻找相应的稳定版次作为目标。 #### 创建用户组服务账户 为了安全性管理方便,应该创建专门用来运行数据库服务的Unix/Linux账号以及相应用户组。这一步骤通常只做一次即可满足多个版本共存的需求。 ```bash groupadd mysql useradd -r -g mysql mysql ``` #### 解压与初始化设置 解压所获取到的tarball文件至指定目录下(比如`/usr/local/mysql`),然后进入该路径执行必要的初始化命令: ```bash cd /path/to/downloaded/package/ tar zxvf package_name.tar.gz ln -s full_path_to_extracted_directory /usr/local/mysql chown -R root:mysql . chmod -R 755 ./ # 初始化数据目录(针对新实例) bin/mysqld --initialize-insecure --user=mysql ``` 注意这里使用了`--initialize-insecure`参数以便简化首次启动流程,实际生产环境中可根据需求调整安全性选项[^5]。 #### 配置my.cnf文件 编辑或新建配置文件以区分不同版本的服务端口、socket位置等关键属性。一般情况下会放置于/etc/my.cnf.d/或其他自定义地点: ```ini [mysqld_5_7] port=3306 datadir=/var/lib/mysql57 ... [mysqld_8_0] port=3307 datadir=/var/lib/mysql80 ... ``` 上述示例展示了如何通过不同的监听端口号实现多实例隔离[^1]。 #### 启动脚本定制化 复制提供的模板文件(`support-files/mysql.server`)到合适的位置(/etc/init.d/),修改其中涉及的数据存储路径及其他必要字段后赋予可执行权限: ```bash cp support-files/mysql.server /etc/init.d/mysql@version chmod +x /etc/init.d/mysql@version chkconfig --add mysql@version service mysqld start ``` 最后利用systemctl或者传统的init工具注册为开机自动加载项。 #### 测试连接验证成功与否 尝试登录各个版本下的客户端界面查看状态信息,以此判断整个过程是否顺利完成。 ```sql mysql -u root -p -S /tmp/mysql.sock # 对应具体版本sock地址 SHOW VARIABLES LIKE 'version'; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛可可白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值