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
- 查看并安装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