演示系统:CentOS-7-x86_64。
一、软件下载
某度下载:
wget下载:
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
二、检查安装环境
2.1 检查是否已安装mariadb
一些Linux分发版就将mariadb作为系统默认安装的数据库系统,所以需要去除掉:
rpm -qa | grep -i mariadb
可能结果显示 mariadb-libs-5.5.65-1.el7.x86_64
去除依赖:
rpm -ev --nodeps mariadb-libs-5.5.65-1.el7.x86_64
2.2 检查libaio与net-tools
rpm -qa | grep libaio
rpm -qa | grep net-tools
若不存在需要下载安装:
yum install -y libaio
yum install -y net-tools
三、安装
3.1 解压安装包
tar -xvf mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
注意此处解压命令是,-xvf 没有z
3.2 安装
需要按照以下安装顺序进行安装:
rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.31-1.el7.x86_64.rpm
3.3 服务启动
启动服务 systemctl start mysqld 查看状态 systemctl status mysqld
关闭服务 systemctl stop mysqld
3.4 查看初始随机密码
cat /var/log/mysqld.log | grep password
3.5 使用root角色登录
mysql -u root -p
3.6 修改密码
ALTER user 'root'@'localhost' IDENTIFIED BY 'new password';
按照MySQL8.0默认的密码组件,此时的密码要求是必须包含数字,大小写字母,特殊字符,且长度不低于8位,否则会提示密码不符合规则。如果想使用弱密码,可以修改(自行百度)。
3.7 开放远程登录权限
安装好后角色只能在本地登录,正规的做法应当是用root权限分配其他不同角色供远程登录,这里还是强行开启root角色的远程登录权限。
use mysql; select host,user from user; update user set host='%' where user ='root';
执行以上语句之后在执行刷新权限:
flush privileges;
3.8 开放防火墙端口
由于3306在Linux中默认关闭的,所以需要开放远程端口(需要的开,云服务器还需要在控制台中安全组策略打开端口)。
查询3306端口是否开启
firewall-cmd --query-port=3306/tcp
开启3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新加载防火墙
firewall-cmd --reload
此时我们的程序已经可以直接连接MySQL了。
3.9 配置文件更改(非必须)
要修改mysql数据和日志存放位置等信息,配置文件是/etc/my.cnf,直接修改保存位置。
vim /etc/my.cnf
在/etc/my.cnf文件中找到以下两行并将等号后的/var/lib/路径修改为新路径/data/app/(注意:/data/app/替换成实际数据盘路径)
#socket=/var/lib/mysql/mysql.sock socket=/data/app/mysql/mysql.sock #datadir=/var/lib/mysql datadir=/data/app/mysql/
补充:已运行的数据如何迁移:
linux系统下如何更改在使用中的MySQL数据存放位置
四、问题
4.1 mariadb-libs 被 mysql-community-libs-8.0.31-1.el7.x86_64 取代
这种情况就是已经自带安装了mariadb数据库,所以安装失败。
解决办法:卸载mariadb:
yum remove mariadb rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
4.2 rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by mysql-community-common-8.0.30-1.el9.x86_64
这个问题原因是版本不匹配导致的,由于系统是centos7,但安装包是.el9.x86_64版本的,官网上el9对应的是centos9的,所以我们需要下载el7的安装包;
标签:8.0,x86,安装,Linux,64,mysql,MySQL,rpm,el7 From: https://www.cnblogs.com/pengpengdeyuan/p/17188058.html