1.环境准备

1.1系统要求检查

[root@mysq-37 ~]# cat /etc/rocky-release

Rocky Linux release 8.7 (Green Obsidian)

[root@mysq-37 ~]# uname -m

x86_64

[root@mysq-37 ~]# free -h

total used free shared buff/cache available

Mem: 7.8Gi 173Mi 6.4Gi 16Mi 1.2Gi 7.4Gi

Swap: 8.0Gi 0B 8.0Gi

[root@mysq-37 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

devtmpfs 3.9G 0 3.9G 0% /dev

tmpfs 3.9G 0 3.9G 0% /dev/shm

tmpfs 3.9G 17M 3.9G 1% /run

tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup

/dev/mapper/rl-root 111G 3.6G 108G 4% /

/dev/sda1 1014M 188M 827M 19% /boot

/dev/mapper/rl-home 30G 247M 30G 1% /home

tmpfs 796M 0 796M 0% /run/user/0

[root@mysq-37 ~]# systemctl status firewalld

● firewalld.service - firewalld - dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)

Active: inactive (dead)

Docs: man:firewalld(1)

1.2创建用户和目录

# 创建mysql用户和组

[root@mysq-37 ~]# groupadd mysql

[root@mysq-37 ~]# useradd -r -g mysql -s /bin/false mysql

2.下载和安装MySQL5.7

2.1下载MySQL5.7二进制文件

https://dev.mysql.com/downloads/mysql/

[root@mysq-37 ~]# ll

-rw-r--r-- 1 root root 678258106 Nov 12 11:54 mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz

2.2解压和安装MySQL

[root@mysq-37 ~]# tar xf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

[root@mysq-37 ~]# mv /usr/local/mysql-5.7.42-linux-glibc2.12-x86_64 /usr/local/mysql

[root@mysq-37 ~]# ll /usr/local/mysql/

drwxr-xr-x 2 root root 4096 Nov 13 14:09 bin

drwxr-xr-x 2 root root 73 Nov 13 14:09 docs

drwxr-xr-x 3 root root 4096 Nov 13 14:09 include

drwxr-xr-x 5 root root 4096 Nov 13 14:10 lib

-rw-r--r-- 1 7161 31415 255738 Mar 16 2023 LICENSE

drwxr-xr-x 4 root root 30 Nov 13 14:09 man

-rw-r--r-- 1 7161 31415 566 Mar 16 2023 README

drwxr-xr-x 28 root root 4096 Nov 13 14:10 share

drwxr-xr-x 2 root root 90 Nov 13 14:10 support-files

2.3创建目录和文件

[root@mysq-37 ~]# mkdir -p /usr/local/mysql/data

[root@mysq-37 ~]# mkdir -p /usr/local/mysql/logs

[root@mysq-37 ~]# mkdir -p /usr/local/mysql/etc

[root@mysq-37 ~]# touch /usr/local/mysql/logs/mysqld.log

[root@mysq-37 ~]# chown mysql.mysql /usr/local/mysql/logs/mysqld.log

3.配置MySQL

3.1创建MySQL配置文件

创建 my.cnf 配置文件:

[root@mysq-37 ~]# rm -rf /etc/my.cnf

[root@mysq-37 ~]# vim /usr/local/mysql/etc/my.cnf

[mysqld]

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

log-error=/usr/local/mysql/logs/mysqld.log

pid-file=/usr/local/mysql/logs/mysqld.pid

3.2初始化MySQL数据库

[root@mysq-37 ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

#查看初始化生成的随机密码

[root@mysq-37 ~]# cat /usr/local/mysql/logs/mysqld.log | grep password

2025-11-13T06:13:22.744737Z 1 [Note] A temporary password is generated for root@localhost: /Waesrhug2Q,

#查看初始化数据文件

[root@mysq-37 ~]# ll /usr/local/mysql/data/

-rw-r----- 1 mysql mysql 56 Nov 13 13:22 auto.cnf

-rw------- 1 mysql mysql 1709 Nov 13 13:22 ca-key.pem

-rw-r--r-- 1 mysql mysql 1108 Nov 13 13:22 ca.pem

-rw-r--r-- 1 mysql mysql 1108 Nov 13 13:23 client-cert.pem

-rw------- 1 mysql mysql 1705 Nov 13 13:23 client-key.pem

-rw-r----- 1 mysql mysql 4194304 Nov 13 13:23 '#ib_16384_0.dblwr'

-rw-r----- 1 mysql mysql 12582912 Nov 13 13:22 '#ib_16384_1.dblwr'

-rw-r----- 1 mysql mysql 5735 Nov 13 13:23 ib_buffer_pool

-rw-r----- 1 mysql mysql 12582912 Nov 13 13:23 ibdata1

drwxr-x--- 2 mysql mysql 4096 Nov 13 13:23 '#innodb_redo'

drwxr-x--- 2 mysql mysql 6 Nov 13 13:23 '#innodb_temp'

drwxr-x--- 2 mysql mysql 143 Nov 13 13:23 mysql

-rw-r----- 1 mysql mysql 26214400 Nov 13 13:23 mysql.ibd

-rw-r----- 1 mysql mysql 124 Nov 13 13:22 mysql_upgrade_history

drwxr-x--- 2 mysql mysql 8192 Nov 13 13:22 performance_schema

-rw------- 1 mysql mysql 1705 Nov 13 13:23 private_key.pem

-rw-r--r-- 1 mysql mysql 452 Nov 13 13:23 public_key.pem

-rw-r--r-- 1 mysql mysql 1108 Nov 13 13:22 server-cert.pem

-rw------- 1 mysql mysql 1705 Nov 13 13:22 server-key.pem

drwxr-x--- 2 mysql mysql 28 Nov 13 13:23 sys

-rw-r----- 1 mysql mysql 16777216 Nov 13 13:23 undo_001

-rw-r----- 1 mysql mysql 16777216 Nov 13 13:23 undo_002

[root@mysq-37 ~]# cat /usr/local/mysql/data/auto.cnf

[auto]

server-uuid=c534c091-c050-11f0-818f-005056a89f1a

#数据库唯一标识

3.3启动mysql数据库

[root@mysq-37 ~]# chown -R mysql.mysql /usr/local/mysql

[root@mysq-37 ~]# /usr/local/mysql/support-files/mysql.server start

Starting MySQL...... SUCCESS!

[root@mysq-37 ~]# ps -ef | grep mysql

root 1522 1 0 13:32 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/logs/mysqld.pid

mysql 1670 1522 3 13:32 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/logs/mysqld.log --pid-file=/usr/local/mysql/logs/mysqld.pid --socket=/tmp/mysql.sock

root 1726 1281 0 13:33 pts/0 00:00:00 grep --color=auto mysql

[root@mysq-37 ~]# netstat -ntlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 953/sshd

tcp6 0 0 :::3306 :::* LISTEN 1670/mysqld

tcp6 0 0 :::22 :::* LISTEN 953/sshd

tcp6 0 0 :::33060 :::* LISTEN 1670/mysqld

3.4登录mysql

[root@mysq-37 ~]# /usr/local/mysql/bin/mysql -uroot -p

Enter password:_/ApdWfkH38=

mysql> show databases;

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

mysql> alter user 'root'@'localhost' identified by 'Cywetc.c0m';

Query OK, 0 rows affected (0.10 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.03 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

4 rows in set (0.01 sec)

mysql> quit

Bye

[root@mysq-37 ~]# /usr/local/mysql/bin/mysql -uroot -p

Enter password: Cywetc.c0m

mysql> quit

Bye

3.5配置环境变量

[root@mysq-37 ~]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile

[root@mysq-37 ~]# source /etc/profile

[root@mysq-37 ~]# mysql -uroot -p

Enter password:

mysql> quit

Bye

3.6配置systemctl文件

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

[root@mysq-37 ~]# chmod +x /etc/init.d/mysqld

[root@mysq-37 ~]# sed -i '/^basedir=/s#basedir=#basedir=/usr/local/mysql/#g' /etc/init.d/mysqld

[root@mysq-37 ~]# sed -i '/^datadir=/s#datadir=#datadir=/usr/local/mysql/data#g' /etc/init.d/mysqld

[root@mysq-37 ~]# egrep '^basedir=|^datadir=' /etc/init.d/mysqld

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data

[root@mysq-37 ~]# pkill mysql

[root@mysq-37 ~]# systemctl enable mysqld

mysqld.service is not a native service, redirecting to systemd-sysv-install.

Executing: /usr/lib/systemd/systemd-sysv-install enable mysqld

[root@mysq-37 ~]# systemctl start mysqld

[root@mysq-37 ~]# netstat -ntlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 953/sshd

tcp6 0 0 :::3306 :::* LISTEN 2226/mysqld

tcp6 0 0 :::22 :::* LISTEN 953/sshd

tcp6 0 0 :::33060 :::* LISTEN 2226/mysqld

[root@mysq-37 ~]# systemctl status mysqld

● mysqld.service - LSB: start and stop MySQL

Loaded: loaded (/etc/rc.d/init.d/mysqld; generated)

Active: active (running) since Thu 2025-11-13 13:57:35 CST; 1min 30s ago

Docs: man:systemd-sysv-generator(8)

Process: 2038 ExecStop=/etc/rc.d/init.d/mysqld stop (code=exited, status=0/SUCCESS)

Process: 2068 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS)

Tasks: 35 (limit: 50660)

Memory: 425.2M

CGroup: /system.slice/mysqld.service

├─2078 /bin/sh /usr/local/mysql//bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/logs/mysqld.pid

└─2226 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/>

Nov 13 13:57:30 mysq-37 systemd[1]: Starting LSB: start and stop MySQL...

Nov 13 13:57:35 mysq-37 mysqld[2068]: Starting MySQL..... SUCCESS!

Nov 13 13:57:35 mysq-37 systemd[1]: Started LSB: start and stop MySQL.

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐