前言:本次系统是centos8.2版本,数据库安装包是mysql5.7.31版也是比较经典的一款。采用tar包的方式,因为21年10月centos8停止维护,而华为云没有及时更新repos文件,旧的rpm自动下载镜像已不能正常访问,故默认在华为云上yum在线无法安装(阿里云、腾讯云目前可以通过yum方式安装)。
因为mysql默认端口是3306,建议先在要部署mysql的云服务器上放行该端口:
一、centos7将默认数据库mysql替换成了Mariadb,如果想继续使用mysql 需要卸载Mariadb 再安装mysql;当然也有的直接安装mysql会覆盖mariadb,保险起见还是先卸载:
1.1、查看是否默认安装了mariadb(若下面没有结果返回,则说明没有安装过,无需卸载):
rpm -qa |grep -i mariadb
1.2、卸载默认的mariadb:
yum remove mariadb*
1.3、检查是否已经安装过mysql(若下面没有结果返回,则说明没有安装过):
rpm -qa|grep mysql
二、安装mysql:
2.1、进入到某个想要安装mysql的目录,如: /usr/myInstallPackages
cd /usr/myInstallPackages
2.2、将下载好的mysql离线tar.gz包通过winScp软件上传到该目录下,然后在myInstallPackages目录下执行解压命令:
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
然后修改解压后的文件夹名:
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql57
2.3、cd进入mysql57目录,用命令添加mysql组,mysql用户并查看:
[root@localhost mysql57]# groupadd mysql
[root@localhost mysql57]# useradd -r -g mysql mysql
[root@localhost mysql57]# id mysql
uid=997(mysql) gid=1000(mysql) groups=1000(mysql)
2.4、新建数据库的data目录:
[root@localhost mysql57]# mkdir /usr/myInstallPackages/mysql57/data
2.5、将/usr/myInstallPackages/mysql57 的所有者及所属组改为mysql:
[root@localhost mysql57]# chown -R mysql.mysql /usr/myInstallPackages/mysql57
2.6、修改data目录拥有者为mysql用户:
[root@localhost mysql57]# chown -R mysql:mysql data
2.7、初始化数据库:
[root@localhost mysql57]# bin/mysqld --initialize --user=mysql --basedir=/usr/myInstallPackages/mysql57 --datadir=/usr/myInstallPackages/mysql57/data
创建RSA private key:
[root@localhost mysql57]# bin/mysql_ssl_rsa_setup --datadir=/usr/myInstallPackages/mysql57/data
2.8、若2.7步骤报错:error while loading shared libraries: libaio.so,则需要先安装该项运行环境,则先去百度下载对应rpm包,如:“libaio-0.3.109-13.el7.x86_64.rpm”,存放到目录:
此时,进入到lubiioFloder目录,执行安装:
[root@localhost lubiioFloder]# rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
2.9、此时再按照2.7节介绍的执行,注意切换目录执行命令
2.10、修改etc/my.cnf文件(没有则新建一个):
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
#skip-grant-tables #如果忘记密码,可以反注释这行,免密登录mysql
init_connect='SET NAMES utf8'
basedir=/usr/myInstallPackages/mysql57
datadir=/usr/myInstallPackages/mysql57/data
socket=/tmp/mysql.sock #若没有,则直接照抄
log-error=/var/log/mysqld.log #若没有,则直接照抄
pid-file=/usr/myInstallPackages/mysql57/data/mysql.pid #若没有,则直接参照改
max_connections=1000
wait_timeout=28800
2.11、添加开机启动
[root@localhost mysql57]# cp /usr/myInstallPackages/mysql57/support-files/mysql.server /etc/init.d/mysqld
2.12、修改etc/init.d/mysqld文件,找到如下待填下的地方,改成:
basedir=/usr/myInstallPackages/mysql57
datadir=/usr/myInstallPackages/mysql57/data
2.13、启动mysql、加入开机启动、添加软连接
[root@localhost mysql57]# service mysqld start
[root@localhost mysql57]# systemctl enable mysqld
[root@localhost mysql57]# ln -s /usr/myInstallPackages/mysql57/bin/mysql /usr/bin
三、登录mysql:
[root@localhost mysql57]# mysql -u root -p
Enter password: (输入2.7节得到的密码)
四、一般都要修改密码:
编辑配置文件:
vim /etc/my.cnf
放开注释:#skip-grant-tables,记得保存
重启mysql:
[root@localhost mysql57]# service mysqld restart
免密登录:
[root@localhost mysql57]# mysql
mysql> use mysql;(记得使用英文封号结尾)
mysql> update user set authentication_string=password("新密码") where user="root";
mysql> flush privileges;
mysql> quit;
再次编辑配置文件:
vim /etc/my.cnf
重新加上注释:#skip-grant-tables,记得保存
重启mysql:
[root@localhost mysql57]# service mysqld restart
注:本文需要的mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz和libaio-0.3.109-13.el7.x86_64.rpm可以私聊版主免费获得。