当前位置:首页 > 文章中心 > 正文内容

Rocky 9.6 安装 MySQL8.0 超详细教程,一篇就够!

dgx6663个月前 (09-12)文章中心18

1.环境

虚拟机环境,个人玩耍,当然要使用虚拟机,不然哪有那么多钱,买那么多电脑,哪怕你去买阿里云,也只不过是虚拟机。

虚拟机运行系统:Virtual Box

操作系统:Rocky9.6

2.安装依赖

我的这台用于试验的虚拟机系统,目前啥都还没有安装,所以从依赖开始安装,安装MySQL需要安装最小的依赖如下:

如果以上依赖都还没有安装,那么命令如下:

sudo dnf install -y gcc gcc-c++ make cmake ncurses-devel openssl-devel openssl bison libaio-devel zlib-devel libtirpc-devel libcurl-devel wget tar

当然,我不想重复安装,所以我在安装之前,检查了一遍依赖是否已经安装了

rpm -q gcc
rpm -q gcc-c++
rpm -q make
rpm -q cmake
rpm -q ncurses-devel
rpm -q openssl-devel
rpm -q openssl
rpm -q bison
rpm -q libaio-devel
rpm -q zlib-devel
rpm -q libtirpc-devel
rpm -q libcurl-devel
rpm -q wget
rpm -q tar

其中,openssl、wget、tar 我已经安装了,所以省略,最终我的安装命令如下:

sudo dnf install -y gcc gcc-c++ make cmake ncurses-devel openssl-devel bison libaio-devel zlib-devel libtirpc-devel libcurl-devel

在运行命令时,先运行

sudo dnf config-manager --set-enabled crb
sudo dnf install -y epel-release  # 安装 EPEL 仓库
sudo dnf clean all  # 清除包管理器缓存
sudo dnf makecache # 强制重新下载并生成仓库元数据缓存

因为libtirpc-devel找不到安装包,这样就可以了。

3.下载解压

创建源码目录,保持系统简洁,有利于管理源码。

sudo mkdir -p /usr/local/src/mysql
cd /usr/local/src/mysql

下载

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.36.tar.gz
tar xzf mysql-8.0.36.tar.gz

4.安装准备

4.1.创建安装目录

sudo mkdir -p /u01/mysql

4.2.创建用户和组

sudo groupadd mysql  # 创建组
sudo useradd -r -g mysql -s /bin/false mysql  # 创建用户mysql并且组是mysql,设置

-s /bin/false 选项设置新用户的默认 Shell 为 /bin/false 。这意味着该用户无法使用 Shell 进行交互式登录系统。

4.3.编译配置

cd mysql-8.0.36

创建编译目录并进行配置

mkdir build
cd build

cmake .. \
-DWITH_BOOST=../boost \
-DCMAKE_INSTALL_PREFIX=/u01/mysql \  # 主程序安装路径改为/u01/mysql
-DMYSQL_DATADIR=/u01/mysql/data \    # 数据目录同步改为/u01/mysql/data
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \  # 套接字路径保持默认,避免权限问题
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_SYSTEMD=1

运行后,出错

需要安装

yum install gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-binutils gcc-toolset-12-annobin-annocheck gcc-toolset-12-annobin-plugin-gcc

安装完后,再次运行


tar xfj
/usr/local/src/mysql/mysql-8.0.36/boost/boost_1_77_0.tar.bz2解压失败。那就重新下载呗

我试了很多个下载地址,包括官网下载,文件都是不对的。下面这个是正确的包

wget https://sourceforge.net/projects/boost/files/boost/1.77.0/boost_1_77_0.tar.bz2

验证,解压

file boost_1_77_0.tar.bz2
tar -xjf boost_1_77_0.tar.bz2

重新运行 cmake,出现下面错误

缺少 rpcgen 工具,重新安装

sudo dnf install -y libtirpc-devel rpcgen

验证

which rpcgen

清理,重新运行 CMake

rm CMakeCache.txt
# 用以下命令,有调整
cmake .. -DWITH_BOOST=../boost -DWITH_GROUP_REPLICATION=ON -DDOWNLOAD_BOOST=1 -DCMAKE_INSTALL_PREFIX=/u01/mysql -DMYSQL_DATADIR=/u01/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=bundled -DWITH_LIBWRAP=0 -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_SYSTEMD=1 

5.编译并安装

编译

# 编译(根据CPU核心数调整-j参数,加速编译)
make -j$(nproc)  # 这个编译很慢,建议  make 就行

安装

sudo make install

6.配置权限

sudo chown -R mysql:mysql /u01/mysql

7.初始化数据库

cd /u01/mysql
sudo bin/mysqld --initialize --user=mysql --basedir=/u01/mysql --datadir=/u01/mysql/data

8. 配置系统服务

touch /etc/systemd/system/mysqld.service

nano /etc/systemd/system/mysqld.service

[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
ExecStart=/u01/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/u01/mysql --datadir=/u01/mysql/data --plugin-dir=/u01/mysql/lib/plugin
LimitNOFILE=5000
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target

创建配置文件

touch /etc/my.cnf

编辑 nano/etc/my.cnf

[mysqld]
basedir=/u01/mysql
datadir=/u01/mysql/data
socket=/tmp/mysql.sock
port=3306
log-error=/u01/mysql/data/error.log
pid-file=/u01/mysql/data/mysql.pid

配置开机启动

sudo systemctl daemon-reload    # 修改配置需要执行
sudo systemctl enable mysqld

9.启动

启动

sudo systemctl start mysqld

查看状态

sudo systemctl status mysqld

权限,一般都是SELinux策略阻碍了运行:


# 修正数据目录权限
sudo chown -R mysql:mysql /u01/mysql/data
sudo chmod -R 750 /u01/mysql/data

# 修正插件目录权限
sudo chown -R mysql:mysql /u01/mysql/lib/plugin
sudo chmod -R 750 /u01/mysql/lib/plugin

# 修正MySQL安装目录权限
sudo chown -R mysql:mysql /u01/mysql
sudo chmod -R 755 /u01/mysql
sudo chcon -R -t mysqld_db_t /u01/mysql/data

# 确保 mysql 用户可读
sudo chmod 644 /etc/my.cnf    # 保持当前权限(理论上够用,但需结合 SELinux)
# 更严格的权限(推荐)
sudo chmod 640 /etc/my.cnf
sudo chown root:mysql /etc/my.cnf  # 确保 mysql 组可读
sudo chcon -t etc_t /etc/my.cnf


# 安装策略工具(若未安装)
sudo yum install policycoreutils-python-utils -y   (已安装略)
# 生成并加载自定义策略
sudo grep mysqld /var/log/audit/audit.log | audit2allow -M mysqld_custom
sudo semodule -i mysqld_custom.pp

# 设置必要的布尔值
sudo setsebool -P mysqld_connect_any=1 mysqld_write_data=1


# 标准路径标签修复
sudo semanage fcontext -a -t mysqld_db_t "/u01/mysql/data(/.*)?"
sudo semanage fcontext -a -t bin_t "/u01/mysql/bin(/.*)?"
sudo restorecon -Rv /u01/mysql

# 验证服务文件路径
sudo cat /etc/systemd/system/mysqld.service | grep -E 'ExecStart|User'

# 重载服务配置
sudo systemctl daemon-reload

重启,停止

sudo systemctl restart mysqld
sudo systemctl sop mysqld

登录测试

查初始化密码,我查不到,然后用一下方式重置密码

echo "ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; FLUSH PRIVILEGES;" > /tmp/reset.sql
sudo chown mysql:mysql /tmp/reset.sql
sudo -u mysql /u01/mysql/bin/mysqld --init-file=/tmp/reset.sql --console &
/u01/mysql/bin/mysql -u root -p

重新修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

完成验证。

扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/4191.html

分享给朋友:

“Rocky 9.6 安装 MySQL8.0 超详细教程,一篇就够!” 的相关文章

Auto CAD 2014 软件下载地址、注册机下载地址(附:Auto CAD 2014 安装教程)

从事在线培训十多年,每天都会有很多学员问到软件工具,相信看完这篇文章之后,对使初学的学员节约很多的时间。这里收集整理了几个常见的问题,未涉及到的问题,欢迎大家留言①学习室内设计,不知道如何下载软件---本文要讲的②下载好软件了,不会安装,不会破解---本文要讲的③软件卸载删除后,重装失败---点击》...

AUTOCAD——工作空间设置

在使用AUTOCAD绘图之前需要建立适合自己的绘图环境。今天我们说的工作空间就是其中之一。AUTOCAD工作空间分为:草图与注释;三维基础;三维建模;AutoCAD经典。用户可以轻松的切换工作空间。使用工作空间时,只会显示与任务相关的菜单、工具栏和选项板。切换工作空间的操作步骤(1)打开AutoCA...

AutoCAD一打开就崩溃闪退怎么解决呢?

我们在使用cad2010或者cad2012、cad2014版本的cad大都会出现打开就崩溃闪退的情况,那么出现这种情况到底如何解决呢?我试过卸载cad并且重新安装cad并且重新用注册机注册激活,但是打开依然还是闪退,还是崩溃,那么到底如何解决cad闪退的问题呢?通过我的一番试验和查找,终于亲测找到了...

WIN10系统安装低版本CAD(如2006.2007)时出现错误的解决办法

很多同学在WIN10系统下安装低版本CAD(如2006.2007)时会出现各种问题,比如提示“许可系统出现错误”“没有足够的权限安装本产品”“写入文件时发生错误”等,导入CAD无法正常安装或打开。所以老师结合多年的教学经验整理了非常全面的几种解决办法,希望能帮助各位同学解决困惑(WIN10系统与低版...

CAD如何将直线合并为多段线?

引言:最近有小伙伴求助小编如何将CAD绘制的直线合并为多段线,他通过其他文件导入的图形都是一段一段的直线拼成的一个图形,填充图形的时候应用边界填充,寻找边界的时间特别长,而且还容易出现错误导致电脑卡死,或直接闪退,所以想要将直线段变为多段线,应用对象填充来进行图形填充。如下图所示(全都是小短线段):...

win便签如何使用 windows11怎么在桌面添加便签

Win11系统推出不久,有些用户就将自己的电脑升级到了win11,在使用win11电脑的时候,就有一些问题,win11的电脑便签在哪呢?如何打开?有的人使用便签是来进行一些简单的记录,而且不仅会用到系统自带的便签,还会下载一些第三方的便签软件使用,那么,在使用便签软件的时候,怎么添加到桌面?Win1...