openEuler 24.03 LTS系统离线安装mysql数据库教程

在这里插入图片描述

  • 用root权限登入服务器,在服务器的/usr下创建一个mysql目录

sudo mkdir /usr/mysql

  • 把安装包解压mysql-8.0.40-1.el9.x86_64.rpm-bundle.tar,
  • 把解压后的文件拖进去之后执行安装
rpm -ivh mysql-community-common-8.0.40-1.el9.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-plugins-8.0.40-1.el9.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.40-1.el9.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.40-1.el9.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-icu-data-files-8.0.40-1.el9.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.40-1.el9.x86_64.rpm --nodeps --force
  • 执行完毕后配置my.cnf文件

vi /etc/my.cnf

  • 在这个文件中添加以下内容
[mysqld]

datadir=/data/mysql-data
socket=/data/mysql-data/mysql.sock
log-error=/data/mysql-logs/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid
lower_case_table_names=1
default_authentication_plugin=mysql_native_password
max_allowed_packet=64M
max_connections=1000
skip-grant-tables

  • 添加完成后创建mysql的数据目录

mkdir -p /data/{mysql-data,mysql-logs} mkdir -p /data/mysql-logs/{slowlog,binlog}

  • 运行命令初始化数据库

mysqld --initialize --user=mysql

  • 启动mysql

sudo systemctl restart mysqld

如果报错

[root@localhost mysql]# sudo systemctl restart mysqld
Job for mysqld.service failed because the control process exited with error code.
See "systemctl status mysqld.service" and "journalctl -xeu mysqld.service" for details.

就执行

ls -ld /data/mysql-logs /data/mysql-data

sudo chown -R mysql:mysql /data/mysql-logs /data/mysql-data
sudo chmod -R 755 /data/mysql-logs /data/mysql-data

sudo chown mysql:mysql /data/mysql-logs/mysqld.log
sudo chmod 644 /data/mysql-logs/mysqld.log

sudo chown mysql:mysql /data/mysql-logs/mysqld.log
sudo chown mysql:mysql /data/mysql-logs

sudo setenforce 0
  • 再次启动mysql

sudo systemctl restart mysqld.service

  • 登入连接到mysql

mysql -u root -p --socket=/data/mysql-data/mysql.sock

  • 修改root密码

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

  • 执行成功后
  1. 退出数据库
  2. 再进入数据
  • 再次执行,刷新权限

flush privileges;

  • 再一次执行上述提到的修改密码命令

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

  • 修改配置

vi /etc/my.cnf

  • 删除skip-grant-tables这一句

  • 再次退出mysql然后再进入 输入

mysql -u root -p --socket=/data/mysql-data/mysql.sock

最后登入即可

Logo

一站式 AI 云服务平台

更多推荐