系统环境
uname -a
Linux FlencherHU-PC 6.12.9-amd64-desktop-rolling #23.01.01.18 SMP PREEMPT_DYNAMIC Fri Jan 10 18:29:31 CST 2025 x86_64 GNU/Linux
下载离线安装包
浏览器下载https://downloads.mysql.com/archives/get/p/23/file/mysql-test-8.0.33-linux-glibc2.28-x86_64.tar.gz并解压
tar -xf mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz
#复制到/usr/local/mysql。数据库标准安装目录中
mv mysql-8.0.33-linux-glibc2.28-x86_64 /usr/local/mysql
验证二进制是否适用于当前系统
cd /usr/local/mysql
#验证版本号 能成功打印版本号就证明芯片架构是支持的
bin/mysqld --version
Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)
创建mysql运行用户和用户组`
#先创建一个数据存储目录
mkdir data
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql/
创建数据库配置文件
数据库配置文件路径为/etc/my.cnf
[mysqld]
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
lower_case_table_names=1
character-set-server=utf8
[client]
port=3306
socket=/usr/local/mysql/data/mysql.sock
初始化数据库
sudo bin/mysqld --initialize --console
执行完成后会打印如下日志:其中A temporary password
关键词后的是内置账户root的临时密码。
2025-04-11T08:07:18.803066Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-04-11T08:07:19.222699Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-04-11T08:07:19.835458Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: YsLcyDwMG4>j
配置mysql系统服务
创建systemctl服务描述文件vim /etc/systemd/system/mysql.service
[Unit]
Description=MySQL Server
Documentation=https://dev.mysql.com
[Service]
ExecStart=/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf
User=mysql
Group=mysql
Restart=always
RestartSec=3
LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target
启动数据库
systemctl daemon-reload
#启动数据库
systemctl start mysql
#查看数据库状态
systemctl status mysql
#设置开机自动启动
systemctl enable mysql
登录数据库
登录时需要使用到 初始化数据库
这一步生成的临时密码作为初始登录密码
bin/mysql -uroot -p
登录成功后修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
flush privilege;
设置环境变量
PATH=$PATH:/usr/local/mysql/bin
export PATH
刷新环境变量配置 source /etc/profile
开启远程访问
登录数据库后 输入如下命令 开启mysql远程访问
use mysql;
update user set host='%' where user='root';
flush privileges;