Centos7二进制文件安装MySQL5.7.25

1、删除centos系统自带的mariadb数据库防止发生冲突

rpm -qa|grep mariadb
rpm -e mariadb-libs --nodeps

2、安装libaio

yum -y install libaio

3、下载并解压mysql-5.7.25

cd /opt/
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
tar xzvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

4、查看是否有mysql用户和mysql用户组

cat /etc/passwd|grep mysql
cat /etc/group|grep mysql
# 如果存在,则删除用户和用户组
userdel -r mysql

5、创建mysql用户及其用户组

groupadd mysql
useradd -r -g mysql mysql

6、设置mysql用户为非登陆用户

usermod -s /sbin/nologin mysql

7、创建basedir、datadir目录、pid文件

mkdir /opt/mysql
mkdir /opt/mysql/data
mv mysql-5.7.25-linux-glibc2.12-x86_64/* /opt/mysql/
touch /opt/mysql/mysqld.pid
chown -R mysql:mysql /opt/mysql

8、创建日志

touch /var/log/mysqld.log
chown mysql:mysql /var/log/mysqld.log

9、创建socket文件

touch /tmp/mysql.sock
chown mysql:mysql /tmp/mysql.sock

10、创建配置文件vim /etc/my.cnf并加入如下内容

[mysqld]
character-set-server=utf8
user=mysql
port=3306
basedir=/opt/mysql
datadir=/opt/mysql/data
socket=/tmp/mysql.sock

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/opt/mysql/mysqld.pid

[client]
port=3306
socket=/tmp/mysql.sock

11、安装初始化

cd /opt/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql

成功即为如下图所示,记录临时密码。

12、设置开机启动

复制启动脚本到资源目录:

cp ../support-files/mysql.server /etc/rc.d/init.d/mysqld

增加mysqld控制脚本权限:

chmod +x /etc/rc.d/init.d/mysqld

将mysqld加入到系统服务:

chkconfig --add mysqld

检查mysqld服务是否生效:

chkconfig --list mysqld

命令输出类似如下:

现在即可使用service命令控制mysql启动、停止。

PS:删除启动命令:

chkconfig --del mysqld

13、启动mysqld服务

service mysqld start

14、环境变量配置

编辑/etc/profile,加入如下内容:

export PATH=$PATH:/opt/mysql/bin

执行命令使其生效:

source /etc/profile

15、登录mysql(使用随机生成的那个密码)

mysql -uroot -pitg1Srw5kD:?

修改root密码:

mysql> alter user "root"@"localhost" identified by "新密码";

刷新权限:

mysql> flush privileges;

退出mysql,使用新密码登录mysql。

16、添加远程登录用户

默认只允许 root 帐户在本地登录mysql,如果要在其它机器上连接MySQL,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,可以添加一个新的帐户。

mysql> grant all privileges on *.* to "用户名"@"IP地址" identified by "密码" with grant option;

17、开启防火墙mysql3306端口的外部访问

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

参数说明:

  • --zone:作用域,网络区域定义了网络连接的可信等级。
  • --add-port:添加端口与通信协议,格式:端口/通信协议,协议为tcp或udp。
  • --permanent:永久生效,没有此参数系统重启后端口访问失败。
原文地址:https://www.cnblogs.com/believepd/p/10603414.html