Centos 7.9 安装 MySQL 8.0.32

第一步、下载压缩包

下载社区版的 MySQL,根据需求下载对应版本,其中有最小安装版本。具体各个版本的区别,可以上网查询,链接 MySQL :: Download MySQL Community Server

 

 第二步,解压压缩包,并复制到安装目录

进入到压缩包所在的文件夹,解压分为两次,第一次解压 xz 文件,第二次解压 tar 文件。

xz -dv mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar

复制解压后的文件到到要安装的目录,我要把 MySQL 安装到 /usr/local/mysql,所以,运行以下命令,把解压后的文件复制过去

sudo cp -r mysql-8.0.32-linux-glibc2.12-x86_64/* /usr/local/mysql

这里需要修改以下安装目录的权限,由于我们使用 mysql 用户运行数据库,所以,要把安装目录的拥有者改为 mysql,如果系统没有,需要添加 mysql 用户及分组,我们只使用 mysql 运行程序,所以指定了 mysql 禁止登录,增加安全性

sudo groupadd mysql
sudo useradd mysql -s /usr/sbin/nologin -g mysql

修改安装目录的拥有者为 mysql

chown -R mysql:mysql /usr/local/mysql/

第三步、编辑配置文件

编辑配置文件,我们把配置文件放到 /etc/my.cnf

配置如下:

[client]
port=3306
# 端口
# mysqlx_port=33060
socket=/var/lib/mysql/mysql.sock
# mysqlx_socket=/var/lib/mysqlx.sock

[mysqld]
# skip-grant-tables
# mysql安装目录
basedir=/usr/local/mysql/
# mysql数据库目录
datadir=/var/lib/mysql/data/
port=3306
innodb_file_per_table=1
character-set-server=UTF8MB4
mysqlx_port=33060
socket = /var/lib/mysql/mysql.sock
# mysqlx_socket=/var/lib/mysql/mysqlx.sock

[mysqld_safe]
# 错误日志
log-error=/var/log/mysql/error.log
# pid文件
pid-file=/usr/local/mysql/mysqld.pid
tmpdir=/var/lib/mysql/mysql

第四步、确定一些相关的目录

编辑文件 support-files/mysql.server,修改里面的相关目录

安装目录 basedir=/usr/local/mysql

配置目录 /etc/my.cnf

数据库文件目录 datadir=/var/lib/mysql/data/

pid 文件 pid-file=/usr/local/mysql/mysqld.pid

第五步、初始化数据库

初始化数据库,注意,初始化成功后,终端会显示 root 账号密码,一定要保存下来

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

第六步、启动数据库,连接并修改 root 密码

sudo ./bin/mysqld --defaults-file=/etc/my.cnf --user=mysql

连接数据库,修改 root 密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

第六步、守护 MySQL 进程

创建守护程序,保证在服务器重启后能够自动启动,运行

sudo vim /etc/systemd/system/mysql.service

内容如下,其中 User 和 Group 为 mysql

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false
# 使能
sudo systemctl enable mysql.service
# 启动
sudo systemctl start mysql.service
# 查看状态
sudo systemctl status mysql.service

第七步、验证

重启服务器验证 mysql 进程是否启动

posted @ 2023-03-17 15:09  sims  阅读(1036)  评论(0编辑  收藏  举报