搞了一整天,終于搞定了,記錄一下。
一、背景
項目的原因,基于JeecgBoot開發的系統需要國產化支持,這就需要在電腦上安裝MySQL等支撐軟件。
國產化項目的操作系統多是麒麟系統,我的系統如下:
arm64架構。
系統自帶JDK,接下來就安裝MySQL。
二、下載MySQL
1、官網
從官網下載,下載地址:https://downloads.mysql.com/archives/community
2、下載MySQL
(1)查看系統版本
查看系統信息,命令如下:
uname -a
我的系統信息如下:
從中可以看到,體系架構是arm64。
(2)查看glibc版本
命令如下:
ldd --version
我的版本如下:
選擇版本時要用。
(3)選擇合適的版本
我系統不支持rpm格式(聽說麒麟的內核不是紅帽,支持rpm也沒意義)
MySQL8以下的MySQL都不支持arm,只能選擇8的版本。
支持arm的,“Operating System”只能選擇“Linux - Generic”。
我電腦的ldd版本是2.23,“OS Version”不支持高版本的2.28,只能選擇glibc 2.17的,如下圖:
下載后復制進麒麟電腦。
三、解壓與安裝
1、解壓
命令如下:
tar -xvf mysql-8.0.36-linux-glibc2.17-aarch64.tar.xz mysql
2、移動到合適的目錄
原先移到“/opt/service/mysql”目錄,有各種問題,估計是權限導致的,折騰了一整天。
最終選擇了如下方案,移到“/usr/local/mysql”目錄,命令如下(必要的時候加上sudo):
mv mysql /usr/local/mysql
3、創建用戶
(1)創建MySQL用戶組
groupadd mysql
(2)創建用戶
useradd -r -g mysql mysql
4、創建數據目錄
創建MySQL保存數據用的目錄,命令如下:
mkdir -p /data/mysql
對目錄授權,命令如下:
chown mysql:mysql -R /data/mysql
5、創建配置
(1)創建配置文件
命令如下:
vim /etc/my.cnf
內容如下:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid# character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
(2)保存
內容錄入完成,換Esc鍵,再輸入“:wq”,回車保存。
6、初始化
進入MySQL目錄:
cd /usr/local/mysql/bin/
初始化命令如下:
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看初始密碼,命令如下:
sudo cat /data/mysql/mysql.err
如下圖:
7、設置開機啟動
將mysql.server放到“/etc/init.d”目錄下即可,命令如下:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
8、啟動服務
(1)啟動MySQL
啟動命令如下:
systemctl start mysql
(2)查看狀態
查看命令如下:
systemctl status mysql
執行結果如下圖:
9、修改密碼
前面的密碼是隨機生成的,需要登錄MySQL修改。
(1)登錄MySQL
登錄MySQL的命令如下:
# 切到bin目錄下
./mysql -u root -p
輸入密碼回車即可,如下圖:
(2)修改密碼
分別執行以下SQL語句,如下圖:
# MySQL8.0之后用以下語句修改密碼
ALTER USER 'read_user'@'localhost' IDENTIFIED BY '123456';
以上命令將密碼設為了“123456”。
10、非本機訪問
其他電腦訪問本機的MySQL,需要放權。
登錄MySQL后,執行以下語句即可:
use mysql #訪問mysql庫
update user set host = '%' where user = 'root'; #使root能再任何host訪問
FLUSH PRIVILEGES; #刷新
11、擴展
如果不想每次都到bin目錄下使用mysql命令,執行以下命令即可:
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
參考資料:
Linux安裝MySQL5.7_mysqllinux安裝-CSDN博客
國產銀河麒麟操作系統+飛騰CUP安裝運行環境+ARM64架構(一、Mysql部署)_mysql arm64-CSDN博客
超詳細MySQL安裝教程(麒麟系統)_麒麟系統安裝mysql-CSDN博客