Rocky10.0 Linux 下安装最新版MySQL 8.4.6

内容分享3周前发布
0 2 0

准备工作

切换到root账户

ubuntu系统 执行 sudo -i 切换到root 方便操作

查看系统是否支持glibc2.28

由于安装的版本比较新需要新版glic2.28

redhat、centos系列使用以下命令

strings /lib64/libc.so.6 | grep GLIBC_2.28

有输出版本号证明支持

Rocky10.0 Linux 下安装最新版MySQL 8.4.6

移除旧版本

如果你安装过mysql 为了防止出现奇奇怪怪问题,我们把旧版本卸载删除相关包和残留文件

redhat、centos系列使用yum命令

# yum 查询已安装的 MySQL 相关包

rpm -qa | grep -i mysql

# 卸载 MySQL 相关包

yum remove mysql-*

# 卸载完再查询还有无相关包

rpm -qa | grep -i mysql

debian、ubuntu系列使用apt命令

# 卸载mysql相关

apt-get remove –purge mysql-*

# 清除残留

apt-get autoremove

apt-get autoclean

删除相关配置文件和安装目录

rm -rf /etc/my.cnf

rm -rf /var/lib/mysql

rm -rf /etc/mysql

安装mysql依赖

安装mysql所需要的依赖

redhat、centos系列使用yum命令

yum install -y libaio

yum install -y ncurses-compat-libs

debian、ubuntu系列使用apt命令

apt-get install libaio1

下载MySQL

去官网下载页面 获取下载链接

注意查看系统架构,地球人都知道查看系统架构命令 uname -m。如果你是arm架构选择arm版本的二进制包

Rocky10.0 Linux 下安装最新版MySQL 8.4.6

wget命令下载安装包

# -P 指定下载目录

wget -P /opt https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.6-linux-glibc2.28-x86_64.tar.xz

.

开始安装mysql

创建运行mysql的用户和用户组

groupadd mysql

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

解压安装包

解压到 /usr/local/

tar xvf /opt/mysql-8.4.6-linux-glibc2.28-x86_64.tar.xz -C /usr/local/

如果你的tar 命令不支持解压.xz格式 使用下面命令解压

xz -dcv /soft/mysql-8.4.6-linux-glibc2.28-x86_64.tar.xz | tar x -C /usr/local/

bash

解压后目录名改成 mysql

mv /usr/local/mysql-8.4.6-linux-glibc2.28-x86_64 /usr/local/mysql

修改权限创建目录

依次执行下面命令

# 创建数据目录,根据自己需求调整

mkdir -p /data1/mysqldata

cd /usr/local/mysql

mkdir mysql-files

mkdir log

touch log/error.log

chmod 750 mysql-files

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

chown mysql:mysql /data1/mysqldata

初始化mysql

#–basedir 安装目录 –datadir数据存储目录 可以按需调整

/usr/local/mysql/bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/data1/mysqldata

查看初始化日志 root账户的初始化密码输出初始化日志中

Rocky10.0 Linux 下安装最新版MySQL 8.4.6

设置配置文件

配置文件位于 /etc/my.cnf
创建配置文件

vim /etc/my.cnf

文件中写入以下内容(配置文件根据自己需要调整)

[client]

# 指定了客户端与服务器通信的套接字文件路径

socket = /tmp/mysql.sock

[mysqld_safe]

# 错误日志的存放位置。

log_error = /data1/mysqldata/error.log

# 存放服务器进程 ID 的文件

pid_file = /data1/mysqldata/mysqld.pid

[mysql]

socket = /tmp/mysql.sock

[mysqld]

# mysql 的运行用户 这里的用户必定要和初始化时的用户一致

user = mysql

# 指定 MySQL 服务监听的端口为 3306

port = 3306

# 指定 MySQL 的安装目录

basedir = /usr/local/mysql

# 指定数据文件的存储位置。

datadir = /data1/mysqldata

socket = /tmp/mysql.sock

# 日志目录

log_error = /usr/local/mysql/log/error.log

# 设置SQL 模式

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

创建单元服务配置文件

sudo vi /lib/systemd/system/mysqld.service

填入以下内容

[Unit]

Description=MySQL Server

After=network.target

[Service]

Type=simple

ExecStart=/usr/local/mysql/bin/mysqld –defaults-file=/etc/my.cnf

User=mysql

Group=mysql

TimeoutSec=300

PrivateTmp=true

[Install]

WantedBy=multi-user.target

启动mysql

初始化后已经自动注册了系统服务 使用 systemctl 命令管理

配置开机启动并启动程序

systemctl enable mysqld

sudo systemctl daemon-reload

systemctl start mysqld

如果启动报错使用 journalctl -u mysqld.service 命令查看日志

查看状态

systemctl status mysqld

active (running) 表明运行中

Rocky10.0 Linux 下安装最新版MySQL 8.4.6

停止

systemctl stop mysqld

重启

systemctl restart mysqld

设置mysql开机自启

systemctl enable mysqld

然后重新加载单元配置

sudo systemctl daemon-reload

目前就可以执行 systemctl start mysqld 相关命令了

修改默认密码

登录mysql

# 回车后输入刚刚日志中的默认密码

/usr/local/mysql/bin/mysql -h 127.0.0.1 -p

若是报错
/usr/local/mysql/bin/mysql: error while loading shared libraries: libncurses.so.6: cannot open shared object file: No such file or directory

需要安装 libncurses6

修改密码

# 执行SQL 修改密码 BY 'root'; 这里就是设置的密码

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

设置root可远程连接,这样我们就可以使用连接工具连接数据库了

use mysql;

select host, user from user;

update user set host = '%' where user='root';

flush privileges;

防火墙放通

sudo firewall-cmd –permanent –add-port=3306/tcp

sudo firewall-cmd –reload

连接成功!若以上都没有问题还是连接不上请检查防火墙、安全组

Rocky10.0 Linux 下安装最新版MySQL 8.4.6

© 版权声明

相关文章

2 条评论

您必须登录才能参与评论!
立即登录