这篇“Centos7.9安装MySQL8.0.32的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Centos7.9安装MySQL8.0.32的方法是什么”文章吧。
第一步、下载压缩包
下载社区版的 MySQL,根据需求下载对应版本,其中有最小安装版本。
第二步,解压压缩包,并复制到安装目录
进入到压缩包所在的文件夹,解压分为两次,第一次解压 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 进程是否启动