【入门】rocky10上安装mysql

之前文章(失败):

【入门】【失败】Linux下
mysql-8.0.22-linux-x64.tar.gz 安装

安装
mysql-8.0.33-linux-glibc2.17-x86_64……

两次都因为centos8的版本问题,最后都失败了

这里,换了rocky10操作系统,再次笔记一下mysql的安装

AI估计有学习功能,先提示我检查环境

AI帮助关键词:rocky
mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz 安装

一、准备工作

检查系统依赖

sudo dnf install libaio numactl-libs


这里,检查和安装成功

创建 MySQL 用户和组

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql


创建数据目录

sudo mkdir -p /usr/local/mysql /var/lib/mysql /var/log/mysql
sudo chown -R mysql:mysql /var/lib/mysql /var/log/mysql
sudo chmod 750 /var/lib/mysql /var/log/mysql

二、解压并安装 MySQL

上传文件到liux服务器(之前有上传java的,一并截图了):

scp C:\\appFiles\\softs\\linux\\mysql\\mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz fuzhx@192.168.203.132:/tmp/down

解压文件:

cd /tmp/down
tar -xvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz
#sudo mv mysql-8.0.33-linux-glibc2.17-x86_64/* /usr/local/mysql/
cd mysql-8.0.33-linux-glibc2.17-x86_64-minimal/
sudo mv * /usr/local/mysql/



配置 MySQL

创建配置文件

sudo vi /etc/my.cnf

添加内容:

[mysqld]
basedir = /usr/local/mysql
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
log-error = /var/log/mysql/error.log
pid-file = /var/run/mysqld/mysqld.pid
port = 3306

# 字符集设置
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

# 其他优化参数(根据服务器配置调整)
innodb_buffer_pool_size = 1G

初始化 MySQL

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql


这里,没有看到临时密码?!

启动 MySQL 服务

启动 MySQL

sudo bin/mysqld_safe --user=mysql &




设置为系统服务

sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
sudo chkconfig --add mysql
sudo chkconfig mysql on


[root@localhost mysql]# sudo chkconfig --add mysql
sudo: chkconfig: command not found

AI还是有点不完全,chkconfig 已经不用了


要是返回结果为systemd,那就意味着你的系统使用的是systemd。此时,你需要使用systemctl命令来替代chkconfig:

# 设置MySQL服务开机自启
sudo systemctl enable mysqld

# 启动MySQL服务
sudo systemctl start mysqld

# 查看MySQL服务状态
sudo systemctl status mysqld


又不知道哪里错了....


看服务,mysql已经起来了

但怎么搞到系统服务里面,在研究

先继续




如上图:

Failed to start mysql.service: Unit mysql.service not found.

检查 MySQL 服务名称

要保证 MySQL 服务的名称是正确的。不同的系统和安装方式,服务名称可能会有所不同,常见的名称有mysql、mysqld或者mariadb。你可以使用以下命令来查找:

sudo systemctl list-units --type=service | grep -i mysql

没有找到




手动创建 systemd 服务文件(可选)

若 MySQL 服务没有自动生成 systemd 单元文件,你可以手动创建一个。首先,创建服务文件:

sudo nano /etc/systemd/system/mysqld.service

添加内容

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Service]
ExecStart=/usr/bin/mysqld_safe
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false

[Install]
WantedBy=multi-user.target


保存文件后,重新加载 systemd 管理器配置并启用服务:

sudo systemctl daemon-reload
sudo systemctl enable mysqld
sudo systemctl start mysqld



验证服务状态:

sudo service mysql status


配置安全设置

登录并修改密码

sudo bin/mysql_secure_installation


这里又出岔了


之前没有输出root的默认密码,这里sudo又出问题

感觉又失败了

原文链接:,转发请注明来源!