Centos7 离线安装MYSQL8(rpm安装方式)
一、检查服务器是否已经安装mysql
1.yum卸载MySQL8
此次用的方法是很方便的yum
yum卸载本机安装的mysql
用来查询已安装的mysql
rpm -qa |grep -i mysql
- 卸载安装包
yum remove mysql-community-libs-8.0.13-1.el7.x86_64 mysql-community-server-8.0.13-1.el7.x86_64
3.删除MySQL相关的目录
find /* -name mysql rm -rf /usr/bin/mysql rm -rf /usr/lib64/mysql rm -rf /usr/share/mysql rm -rf /var/lib/selinux/targeted/active/modules/200/mysql rm -rf /var/lib/mysql rm -rf /var/log/mysql
4.删除配置文件与日志
rm -rf /etc/my.cnf rm -rf /var/log/mysql/mysqld.log
自此,MySQL8的卸载完成
二、安装mysql
1.下载MYSQL安装包
#本次安装环境为Centos7.9,可通过一下命令查看:
lsb_release -a
必须下载对应内核版本的安装包,否则将无法进行安装
下载地址:MySQL :: Download MySQL Community Server
安装包名:mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar
2.解压安装mysql
将压缩包上传至要进行安装的服务器 使用下方的命令进行解压,根据实际安装包名称进行修改
cd /home/ tar xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar
3.安装myql
rpm -ivh --force --nodeps *.rpm #此步执行后会自动生成一个mysql用户和用户组
4.修改my.cnf文件
vi /etc/my.cnf
增加lower_case_table_names=1
增加之后内容如下:
5.给mysql的安装目录授权
chown -R mysql:mysql /var/lib/mysql
6.启动mysql
systemctl start mysqld.service
拿到初始密码(若在my.cnf修改了路径,按my.cnf路径来)
grep password /var/log/mysqld.log
7.登录
mysql -u root -p
接下来修改root密码,将123456换成你的新密码
别忘了结尾有个分号“;”
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'db@Gs2023!';
然后刷新权限,使密码生效
flush privileges;
8.修改远程连接并生效
选中mysql数据库
use mysql;
设置允许远程连接并生效
update user set host='%' where user='root';
flush privileges;
root表示想要被连接的数据库的用户名 其中“%”表示允许所有机器能访问root用户
开放防火墙3306端口
到这里mysql已经可以本地连接上了,但是要用图形化界面远程连接,还需要开发防火墙的3306端口才行
–permanent代表永久生效,否则重启linux后则需要再次开启
firewall-cmd --add-port=3306/tcp --permanent firewall-cmd --reload
查看防火墙端口开放状态
firewall-cmd --list-all
自此在linux系统上安装mysql8已经完成,并且可以使用图形化界面远程连接。
三、数据目录迁移
1.迁移数据目录
mkdir -p /home/mysql/data
2.停止mysql服务**
systemctl stop mysqld.service
3.拷贝数据目录
cp -a /var/lib/data/* /home/mysql/data
修改/etc/my.cnf文件相应的路径
4.赋予/home/mysql/data权限
chmod 777 /home/mysql/data/*
5.启动mysql
systemctl start mysqld.service
6.查看启动状态
systemctl status mysqld.service