目录

Ubuntu24.04二进制包安装MySQL8.4

系列 - MySQL学习

Ubuntu24.04 二进制包安装 MySQL8.4

安装主机信息:

主机名 IP 操作系统版本
db 192.168.109.151 Ubuntu 24.04

添加解析记录到 /etc/hosts 配置文件:

cat << EOF >> /etc/hosts
192.168.109.151 db
EOF

安装依赖并设置软链接:

apt install libaio-dev libncurses6 libtinfo6 libstdc++6 -y
ln -s /usr/lib/x86_64-linux-gnu/libaio.so /usr/lib/x86_64-linux-gnu/libaio.so.1

下载二进制软件包并解压到指定目录:

wget https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.6-linux-glibc2.28-x86_64.tar.xz
tar xf mysql-8.4.6-linux-glibc2.28-x86_64.tar.xz -C /usr/local/ 
Tip

如果下载速度慢,可以先在网络好的机器上下载后上传到服务器。

设置软链接:

cd /usr/local && ln -s mysql-8.4.6-linux-glibc2.28-x86_64/ mysql

将 MySQL 安装目录添加到环境变量:

cat << 'EOF' > /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
EOF
source /etc/profile

验证环境变量配置结果:

mysql -V

创建 MySQL 管理用户:

useradd mysql -M -s /sbin/nologin

创建 MySQL 数据存放目录并修改所属组和所属主为管理用户:

mkdir /data/3306/data -p
chown mysql:mysql /data/3306/data 
mysqld --initialize-insecure --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
Note

初始化选项:

  • –initialize-insecure:进行不安全初始化,初始化后数据库没有密码。
  • –initialize:进行安全初始化,但是此密码仅用于登录数据库修改密码,无任何权限。

创建 MySQL 基础配置文件:

cat << EOF > /etc/my.cnf 
[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
EOF

编写 systemd 配置文件:

cat <<EOF  >/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
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF

启动服务并设置开机自启:

systemctl start --now mysqld 
Note

其他命令:

  • 停止服务:systemctl stop mysqld
  • 重启服务:systemctl restart mysqld
  • 查看服务状态:systemctl status mysqld

命令行通过 mysqladmin 命令设置::

mysqladmin -uroot  password '123'

登录数据库后使用 alter 语句设置:

alter user root@'localhost' identified by '123';

10.1

命令:

# ldd 命令方式
ldd --version
# 查看 libc 共享库版本方式
/lib/x86_64-linux-gnu/libc.so.6
# getconf 命令方式
getconf GNU_LIBC_VERSION