1.获取tar安装包文件

1.1 下载mysql5.7安装包

MySQL安装包官方下载地址:https://dev.mysql.com/downloads/mysql/5.7.html 下载界面

1.2 包上传到 Linux 服务器

可以通过XFTP软件将安装包上传到服务器 将下载好的 MySQL 安装包上传至 /usr/local/ 文件夹下:

[root@localhost /]# ls /usr/local
mysql-5.7.41-linux-glibc2.12-x86_64.tar

2.安装前查看设置

2.1 卸载 CentOS7 系统自带 mariadb

MariaDB Server 是最流行的开源关系型数据库之一。它由 MySQL 的原始开发者制作,并保证保持开源。 在 CentOS 7 中默认安装有 MariaDB。

查看并卸载系统自带的 Mariadb

[root@localhost /]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost /]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost /]# rpm -qa|grep mariadb

2.2 检查系统是否安装过 MySQL

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

如果系统中 MySQL ,查询所有 MySQL 对应的文件夹,全部删除

 [root@localhost /]# whereis mysql
 [root@localhost /]# find / -name mysql

2.3 检查有无 MySQL 用户组

检查有无 MySQL 用户组,没有则创建

检查 mysql 用户组是否存在

[root@localhost /]# cat /etc/group | grep mysql
[root@localhost /]# cat /etc/passwd | grep mysql

创建 mysql 用户组和用户

[root@localhost /]# groupadd mysql
[root@localhost /]# useradd -r -g mysql mysql

3.安装 MySQL5.7

3.1 解压下载的tar文件

解压下载的 mysql-5.7.41-linux-glibc2.12-x86_64.tar 文件后 得到 mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz 文件

[root@localhost local]# tar -xvf mysql-5.7.41-linux-glibc2.12-x86_64.tar

3.2 解压tar.gz文件

解压 mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz 文件

[root@localhost local]# tar -zxvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz

3.3 修改文件夹名称

修改文件夹名称为 mysql5.7

[root@localhost local]# mv mysql-5.7.41-linux-glibc2.12-x86_64/ mysql5.7
[root@localhost local]# ls
mysql5.7

3.4 更改文件夹权限

为了避免权限问题,更改 mysql5.7 目录下所有文件夹所属的用户组、用户以及权限

[root@localhost local]# chown -R mysql:mysql mysql5.7/
[root@localhost local]# chmod -R 755 mysql5.7/

3.5 初始化mysql和获取密码

**进入 /usr/local/mysql5.7/bin/ 目录,编译安装并初始化 mysql ** 务必记住数据库管理员临时密码

[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql5.7/data --basedir=/usr/local/mysql5.7
2023-02-23T22:43:52.131986Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
...
...
2023-02-23T22:43:52.554378Z 1 [Note] A temporary password is generated for root@localhost: Pyq#VB8mieDS

临时密码

3.6 编译my.cnf 配置文件

3.6.1 修改 my.cnf 配置文件
[root@localhost bin]# vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql5.7/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
3.6.2 修改 my.cnf 权限
[root@localhost bin]# chmod -R 755 /etc/my.cnf

3.7 编辑mysql.server 文件

因为没有安装在/usr/local/mysql目录下,所以需要修改成安装的/usr/local/mysql5.7目录。

[root@localhost bin]# vim /usr/local/mysql5.7/support-files/mysql.server 

编辑图

4.设置mysql服务

4.1 查询服务

[root@localhost ~]# ps -ef | grep mysql
root       2031   1778  0 06:27 pts/0    00:00:00 tar -x mysql-5.7.41-linux-glibc2.12-x86_64.tar
root       2396   1778  0 06:55 pts/0    00:00:00 grep --color=auto mysql
[root@localhost ~]# ps -ef | grep mysqld
root       2398   1778  0 06:55 pts/0    00:00:00 grep --color=auto mysqld

4.2 启动服务

[root@localhost ~]# /usr/local/mysql5.7/support-files/mysql.server start
Starting MySQL.Logging to '/usr/local/mysql5.7/data/localhost.localdomain.err'.
 SUCCESS! 

4.3 添加软连接,并重启服务

[root@localhost ~]# ln -s /usr/local/mysql5.7/support-files/mysql.server /etc/init.d/mysql
[root@localhost ~]# ln -s /usr/local/mysql5.7/bin/mysql /usr/bin/mysql


[root@localhost ~]# service mysql restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@localhost ~]# 

5.使用并设置mysql

5.1 登录mysql

密码就是初始化时生成的临时密码

[root@localhost ~]# mysql -u root -p
Enter password: 

mysql登录界面

5.2 修改密码

mysql> set password for root@localhost = password('root');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> 

6.设置远程访问

6.1 开启mysql的远程访问权限

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set user.Host='%' where user.User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

6.2 设置开机自启

将服务文件拷贝到init.d下,并重命名为mysql

[root@localhost ~]# cp /usr/local/mysql5.7/support-files/mysql.server /etc/init.d/mysqld

赋予可执行权限

[root@localhost ~]# chmod +x /etc/init.d/mysqld

添加服务

[root@localhost ~]# chkconfig --add mysqld

显示服务列表

[root@localhost ~]# chkconfig --list

服务列表

6.3 开放3306端口

开放3306端口命令

[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success

重启防火墙

[root@localhost ~]# firewall-cmd --reload
success

6.4 远程连接测试

mysql连接成功