CentOS8.x 离线安装 MySQL5.7.x 指定版本数据库

本贴最后更新于 1113 天前,其中的信息可能已经水流花落

CentOS8.x 离线安装 MySQL5.7.x 指定版本数据库

  • CentOS8.x 已安装 MySQL8.0.17
  • 系统为:CentOS8.0.1905
  • 最终安装 MySQL 版本:5.7.29

一、卸载 MySQL8

1、查看版本
mysql --version

img

2、查看安装的包
rpm -qa | grep mysql

img

3、卸载已安装 MySQL8
rpm -qa | grep mysql | xargs rpm -e --nodeps

删除 MySQL 配置文件及其目录

rm -rf /etc/my.cnf /etc/my.cnf.d

二、离线安装指定版本的 MySQL

  1. 安装必要的包
yum install libncurses*
2、官网下载 tar 包

官网地址:https://dev.mysql.com/downloads/mysql/
(Looking for the latest GA version?)

Select Version: 5.7.29
Select Operating System: Source Code
Select OS Version: Generic Linux(Architecture Independent)

或者使用以下命令下载

cd /usr/local/src wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-el7-x86_64.tar.gz

将离线下载的 tar 上传至 /usr/local/src 目录下

3、创建安装账户
mkdir /usr/local/mysql useradd -s /bin/false -d /usr/local/mysql mysql
4、安装过程
# 此过程有点长,耐心等待 tar -xvzf mysql-5.7.21-el7-x86_64.tar.gz -C /usr/local/mysql/ cd /usr/local/mysql/mysql-5.7.21-el7-x86_64/ mv * ../ cd .. rmdir mysql-5.7.21-el7-x86_64/ mkdir data chown -R mysql.mysql ../mysql cd bin ./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

安装完成后在最后会显示 root 密码

拷贝可执行配置文件

cd /usr/local/mysql cp ../support-files/mysql.server /etc/init.d/mysqld
5、配置过程

MySQL 配置文件 /etc/my.cnf 中内容如下:

[mysqld] port = 3306 basedir = /usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock pid-file=/usr/local/mysql/data/mysql.pid log-error=/usr/local/mysql/data/error.log character_set_server=utf8 user=mysql max_connections=1500 symbolic-links=0 # 东八区时区,北京时区 default-time-zone = '+8:00' sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # 导入包允许的大小设置 max_allowed_packet=1024M # 忽略表名大小写;1表示忽略大小写,0表示解析大小写 lower_case_table_names=1 !includedir /etc/my.cnf.d
6、启动服务并登陆

常用命令

# 启动命令 service mysqld start 或者 /etc/init.d/mysqld start # 停止命令 service mysqld stop 或者 /etc/init.d/mysqld stop # 重启命令 service mysqld restart 或者 /etc/init.d/mysqld restart

img

登陆命令

./bin/mysql -u root -p'zisTBE)I8*/0'
7、修改密码并允许远程连接
mysql> set password=password('123456'); mysql> use mysql; mysql> update user set host='%' where user='root'; mysql> flush privileges;

如果远程还连接不上,看下是否防火墙开启了?

8、添加环境变量
vim /etc/profile # mysql PATH=/usr/local/mysql/bin:$PATH

添加环境变量

保存退出后,使用 source /etc/profile 使其生效。

三、MySQL 自启

# 查看MySQL是否自启 systemctl is-enabled mysqld

如下图,显示 disabled,MySQL 默认非自启

img

# 开启自启 systemctl enable mysqld

如下图

img

四、防火墙放行 3306 端口

如果你的防火墙已经关闭,可忽略此操作。

# 永久开放3306端口 firewall-cmd --permanent --zone=public --add-port=3306/tcp # 重启防火墙 systemctl restart firewalld # 检测设定是否生效 iptables -nL | grep 3306

五、其他问题

问题 1:yum 仓库无法更新问题

在使用 yum repolist 列出仓库中的包时,出现 Error: Failed to synchronize cache for repo 'AppStream'
由于其原有的默认的源配置文件被我删除过,然后 CentOS8 换过阿里的源,在卸载 MySQL8 之后重新安装后出现上述问题;解决参照:CentOS8 使用阿里源

将原来文件中 $releasever 替换为 8.0.1905,将 $basearch 替换为 x86_64,然后再使用 yum clean all && yum makecache 即可

正常的 CentOS-Base.repo 内容如下

# CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-8.0.1905 - Base - mirrors.aliyun.com failovermethod=priority baseurl=https://mirrors.aliyun.com/centos/8.0.1905/BaseOS/x86_64/os/ http://mirrors.aliyuncs.com/centos/8.0.1905/BaseOS/x86_64/os/ http://mirrors.cloud.aliyuncs.com/centos/8.0.1905/BaseOS/x86_64/os/ gpgcheck=1 gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official #additional packages that may be useful [extras] name=CentOS-8.0.1905 - Extras - mirrors.aliyun.com failovermethod=priority baseurl=https://mirrors.aliyun.com/centos/8.0.1905/extras/x86_64/os/ http://mirrors.aliyuncs.com/centos/8.0.1905/extras/x86_64/os/ http://mirrors.cloud.aliyuncs.com/centos/8.0.1905/extras/x86_64/os/ gpgcheck=1 gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official #additional packages that extend functionality of existing packages [centosplus] name=CentOS-8.0.1905 - Plus - mirrors.aliyun.com failovermethod=priority baseurl=https://mirrors.aliyun.com/centos/8.0.1905/centosplus/x86_64/os/ http://mirrors.aliyuncs.com/centos/8.0.1905/centosplus/x86_64/os/ http://mirrors.cloud.aliyuncs.com/centos/8.0.1905/centosplus/x86_64/os/ gpgcheck=1 enabled=0 gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official [PowerTools] name=CentOS-8.0.1905 - PowerTools - mirrors.aliyun.com failovermethod=priority baseurl=https://mirrors.aliyun.com/centos/8.0.1905/PowerTools/x86_64/os/ http://mirrors.aliyuncs.com/centos/8.0.1905/PowerTools/x86_64/os/ http://mirrors.cloud.aliyuncs.com/centos/8.0.1905/PowerTools/x86_64/os/ gpgcheck=1 enabled=0 gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official [AppStream] name=CentOS-8.0.1905 - AppStream - mirrors.aliyun.com failovermethod=priority baseurl=https://mirrors.aliyun.com/centos/8.0.1905/AppStream/x86_64/os/ http://mirrors.aliyuncs.com/centos/8.0.1905/AppStream/x86_64/os/ http://mirrors.cloud.aliyuncs.com/centos/8.0.1905/AppStream/x86_64/os/ gpgcheck=1 gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

版权声明

作者:静美书斋
链接:https://www.jianshu.com/p/ee018b20a6e6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    693 引用 • 537 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...