随手记录下centos7下安装MySQL5.7.32

该博客详细介绍了如何在CentOS系统上从已安装的MariaDB迁移到MySQL 5.7的完整过程,包括检查当前数据库状态、卸载MariaDB、安装MySQL、配置my.cnf文件、设置权限、初始化数据库、启动MySQL服务、修改默认密码、添加远程访问权限以及调整防火墙规则等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、检查MariaDB

[root@localhost usr]# rpm -qa|grep mariadb
mariadb-libs-5.5.65-1.el7.x86_64
//也可能是这样
mariadb-server-5.5.60-1.el7_5.x86_64
mariadb-5.5.60-1.el7_5.x86_64
mariadb-libs-5.5.60-1.el7_5.x86_64

2、删除mariadb

如果不存在(上面检查结果返回空)则跳过步骤

[root@localhost usr]# rpm -e --nodeps mariadb-libs
[root@localhost usr]# rpm -qa|grep mariadb
//另一种情况
[root@localhost usr]# rpm -e --nodeps mariadb-server
[root@localhost usr]# rpm -e --nodeps mariadb
[root@localhost usr]# rpm -e --nodeps mariadb-libs

其实yum方式安装是可以不用删除mariadb的,安装MySQL会覆盖掉之前已存在的mariadb

3、检查MySQL

[root@localhost usr]# rpm -qa|grep mysql

删除MySQL

如果不存在(上面检查结果返回空)则跳过步骤

[root@localhost usr]# rpm -e --nodeps xxx

4、将离线包上传之文件夹(xftp/winscp)
mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz

/opt/mysql/

5、解压后重命名
tar -vxzf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.32-linux-glibc2.12-x86_64 mysql-5.7.32

6、mysql-5.7.32下创建空文件夹data
mkdir /opt/mysql/mysql-5.7.32/data

6.检查mysq用户组和用户是否存在,没有则创建

cat /etc/group | grep mysql
cat /etc/passwd | grep mysql

groupadd mysql
useradd -r -g mysql mysql
#useradd -r参数表示mysql用户是系统用户,不可用于登录系统

7.更改mysql目录下所属的用户组和用户, 以及权限

chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

8、在/opt/mysql/mysql-5.7.25/support-files目录下创建my_default.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
 
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
     
basedir = /opt/mysql/mysql-5.7.32
datadir = /opt/mysql/mysql-5.7.32/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8

log-error = /opt/mysql/mysql-5.7.32/data/mysqld.log
pid-file = /opt/mysql/mysql-5.7.32/data/mysqld.pid

9、my_default.cnf复制到/etc/my.cnf
cp support-files/my_default.cnf /etc/my.cnf

10、编译安装
cd /opt/mysql/mysql-5.7.32/bin

./mysqld --initialize --user=mysql --datadir=/opt/mysql/mysql-5.7.32/data --basedir=/opt/mysql/mysql-5.7.32

  1. 查看并安装libaio 包 (第8步执行错误未生成密码,则做第9步的检查。 实践环境 centos, 没有做这一步, 也没有做第11步)

rpm -qa | grep libaio
yum -y install libaio -devel.x86_64

12.再次执行第8步 。

13、初始化完成之后查看日志 获取初始密码
/opt/mysql/mysql-5.7.32/data/mysqld.log
(最后位置的for root@localhost:xxxxxxxx)

14、把启动脚本放到开机初始化目录

cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

添加服务
chkconfig --add mysqld

15、启动MySQL
service mysql start

/opt/mysql/mysql-5.7.32
./bin/mysql -u root -p

16.添加软链接,重启mysql服务
ln -s /opt/mysql/mysql-5.7.32/support-files/mysql.server /etc/init.d/mysql
ln -s /opt/mysql/mysql-5.7.32/bin/mysql /user/bin/mysql
service mysql restart

17、修改密码
mysql> set password=password(‘root123’);
mysql> grant all privileges on . to root@‘%’ identified by ‘root123’;
mysql> flush privileges;

18、添加远程访问权限
mysql> use mysql;
mysql> grant all privileges on . to root@‘%’ identified by ‘root123’;
mysql> flush privileges;
mysql> exit

19、关闭防火墙或者开启端口
关闭防火墙
systemctl stop firewalld.service

查看开放端口
firewall-cmd --list-ports

开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent (–permanent永久生效,没有此参数重启后失效)
systemctl restart firewalld.service

19、重启MySQL
service mysql restart

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值