系統環境
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 --versionVer 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;