> 技术文档 > Linux/Centos7离线安装并配置MySQL 5.7_linux离线安装mysql5.7

Linux/Centos7离线安装并配置MySQL 5.7_linux离线安装mysql5.7


文章目录

  • 前言
  • 1、安装包下载
  • 2、卸载MariaDB
  • 3、创建MySQL用户
  • 4、上传安装包
  • 5、创建数据目录和配置文件
  • 6、安装MySQL
  • 7、初始化MySQL
  • 8、启动MySQL
  • 9、修改初始密码
  • 10、退出验证新密码
  • 11、创建普通用户和库
  • 12、测试普通用户和库
  • 总结

前言

        博主参考了一些大佬的文章,部分收费的就看不了了,发现部分大佬的流程总有遗漏或者没说清楚的地方,为了让广大码农少走点弯路,我就在前人的基础上完善一下步骤,也就是我每一步操作的步骤。
        包好使!


1、安装包下载

安装文件下载链接:https://downloads.mysql.com/archives/community/。
Linux/Centos7离线安装并配置MySQL 5.7_linux离线安装mysql5.7
一般都是下载64位的安装包合集,也就是第一个“Download”按钮。

2、卸载MariaDB

MariaDB是根据MySQL分开开发的,避免冲突,所以先卸载一下。
rpm是Red Hat及其衍生系统(如CentOS、Fedora)中的包管理工具,用于安装、查询、验证、更新和删除软件包。-qa是rpm的一个选项,其中-q表示查询,-a表示所有已安装的包;|为管道符,将前一个命令的输出传递给后一个命令处理;grep(Global Regular Expression Print,全局正则表达式打印),grep mariadb为过滤出包含 mariadb 关键字的行。

:这里可以先创建目录/usr/local/mysql。

root@myos06:/# mkdir /usr/local/mysql
root@myos06:/usr/local/mysql# rpm -qa | grep mariadbmariadb-libs-5.5.56-2.el7.x86_64root@myos06:/usr/local/mysql# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64root@myos06:/usr/local/mysql# rpm -qa | grep mariadbroot@myos06:/usr/local/mysql# rm /etc/my.cnf

rpm -e --nodeps强制卸载MariaDB(-e为卸载,--nodeps为忽略依赖检查,避免因依赖关系中断卸载)。
rm /etc/my.cnf删除残留配置文件。

3、创建MySQL用户

创建用户组,创建用户,设置密码。

root@myos06:/usr/local/mysql# groupadd mysqlroot@myos06:/usr/local/mysql# useradd -g mysql mysqlroot@myos06:/usr/local/mysql# passwd mysql

4、上传安装包

解压在官网下载的压缩包,我们只需要上传以下几个就够了,其他的根据自己需求安装,上传到/usr/local/mysql目录。

-rw-r--r-- 1 root root 25649868 1130 2015 mysql-community-client-5.7.10-1.el7.x86_64.rpm-rw-r--r-- 1 root root 275520 1130 2015 mysql-community-common-5.7.10-1.el7.x86_64.rpm-rw-r--r-- 1 root root 2307512 1130 2015 mysql-community-libs-5.7.10-1.el7.x86_64.rpm-rw-r--r-- 1 root root 2115668 1130 2015 mysql-community-libs-compat-5.7.10-1.el7.x86_64.rpm-rw-r--r-- 1 root root 148556300 1130 2015 mysql-community-server-5.7.10-1.el7.x86_64.rpm

5、创建数据目录和配置文件

root@myos06:/usr/local# mkdir /usr/local/mysql/dataroot@myos06:/usr/local# vim /usr/local/mysql/my.cnf

my.cnf内容如下,可根据需求再自行调整:

[mysqld]socket=/var/lib/mysql/mysql.sock # 进程间通信文件路径port=3306 # 默认监听端口basedir=/usr/local/mysql # MySQL安装目录datadir=/usr/local/mysql/data # 数据存储目录max_connections=200  # 最大连接数character-set-server=utf8mb4 # 默认字符集collation-server=utf8mb4_unicode_ci # 排序字符集lower_case_table_names=1 # 表名不区分大小写sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION # 严格SQL模式lc-messages=en_US # 错误信息语言lc-messages-dir=/usr/share/mysql # 错误信息路径,如果不配置,可能会报错Can\'t find error-message file \'/usr/local/mysql/share/mysql/errmsg.sys\'. Check error-message file location and \'lc-messages-dir\' configuration directive.[client]default-character-set=utf8mb4 # 客户端字符集[mysqld_safe]log-error=/var/log/mysql/mysqld.log # 错误日志路径pid-file=/var/run/mysqld/mysqld.pid # 进程ID文件路径

赋权目录:

root@myos06:/usr/local# chown -R mysql:mysql /usr/local/mysqlroot@myos06:/usr/local# chmod 755 /usr/local/mysql/my.cnf

6、安装MySQL

按顺序安装以下包:

root@myos06:/usr/local/mysql# rpm -ivh mysql-community-common-5.7.10-1.el7.x86_64.rpm 警告:mysql-community-common-5.7.10-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY准备中... ################################# [100%]正在升级/安装... 1:mysql-community-common-5.7.10-1.e################################# [100%]root@myos06:/usr/local/mysql# rpm -ivh mysql-community-libs-5.7.10-1.el7.x86_64.rpm 警告:mysql-community-libs-5.7.10-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY准备中... ################################# [100%]正在升级/安装... 1:mysql-community-libs-5.7.10-1.el7################################# [100%]root@myos06:/usr/local/mysql# rpm -ivh mysql-community-libs-compat-5.7.10-1.el7.x86_64.rpm 警告:mysql-community-libs-compat-5.7.10-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY准备中... ################################# [100%]正在升级/安装... 1:mysql-community-libs-compat-5.7.1################################# [100%]root@myos06:/usr/local/mysql# rpm -ivh mysql-community-client-5.7.10-1.el7.x86_64.rpm 警告:mysql-community-client-5.7.10-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY准备中... ################################# [100%]正在升级/安装... 1:mysql-community-client-5.7.10-1.e################################# [100%]root@myos06:/usr/local/mysql# rpm -ivh mysql-community-server-5.7.10-1.el7.x86_64.rpm 警告:mysql-community-server-5.7.10-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY准备中... ################################# [100%]正在升级/安装... 1:mysql-community-server-5.7.10-1.e################################# [100%]

7、初始化MySQL

初始化,指定配置文件路径

root@myos06:/usr/local/mysql# mysqld --initialize --user=mysql

查看初始化日志/var/log/mysqld.log中root临时密码,找关键字A temporary password is

root@myos06:/# view /var/log/mysqld.log
2025-05-15T06:59:47.299736Z 1 [Note] A temporary password is generated for root@localhost: +*lih0FOvURs

冒号空格后面的都是,可能包含特殊符号的奇奇怪怪密码,当然我们会改成简单的密码,比如123456,生产环境可别用弱口令,实际测试下来5.7.10版本不支持弱口令,哈哈。

8、启动MySQL

启动(停止命令是systemctl stop mysqld,重启命令是systemctl restart mysqld)

root@myos06:/root# systemctl start mysqld

查看状态

root@myos06:/root# systemctl status mysqld● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since 四 2025-05-15 14:59:26 CST; 4s ago Process: 53312 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 53237 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 53315 (mysqld) CGroup: /system.slice/mysqld.service  └─53315 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid515 14:59:22 myos06 systemd[1]: Starting MySQL Server...515 14:59:26 myos06 systemd[1]: Started MySQL Server.

9、修改初始密码

登录(输入日志里的复杂密码):

root@t-kfwjxt-xt-06:/# mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \\g.Your MySQL connection id is 8Server version: 5.7.10Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type \'help;\' or \'\\h\' for help. Type \'\\c\' to clear the current input statement.mysql> 

修改密码(实际测试下来5.7.10版本不支持弱口令,哈哈):

mysql> SET PASSWORD = PASSWORD(\'P@ssw0rd\');Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.00 sec)

10、退出验证新密码

退出:

mysql> quitBye

重新登录,并设置其他机器可以连接数据库:

root@t-kfwjxt-xt-06:/# mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \\g.Your MySQL connection id is 11Server version: 5.7.10 MySQL Community Server (GPL)Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type \'help;\' or \'\\h\' for help. Type \'\\c\' to clear the current input statement.mysql> GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' IDENTIFIED BY \'P@ssw0rd\' WITH GRANT OPTION;Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.00 sec)mysql>

11、创建普通用户和库

mysql> CREATE USER \'testuser\'@\'%\' IDENTIFIED BY \'P@ssw0rd\';Query OK, 0 rows affected (0.00 sec)mysql> CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;Query OK, 1 row affected (0.00 sec)mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON testdb.* TO \'testuser\'@\'%\';Query OK, 0 rows affected (0.00 sec)mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.00 sec)mysql>

12、测试普通用户和库

使用数据库工具测试连接
Linux/Centos7离线安装并配置MySQL 5.7_linux离线安装mysql5.7


总结

至此,整个流程算是都圆满结束了。只要铁子门按照步骤操作,那必须妥妥的。