1:查看Linux系統版本
cat /etc/os-release
#返回結果:
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"?
2:下載MariaDB安裝包,根據步驟1找對應的安裝包:
示例版本:mariadb-10.4.18-linux-x86_64
3:利用lrzsz工具上傳安裝包:
事先規劃好mariadb的安裝目錄:
比如:使用df -h 查看磁盤空間使用情況,使用mkdir -p 遞歸創建好安裝目錄和數據文件存放目錄,示例目錄:
安裝包目錄:/Home/mariadb/
數據文件目錄:/Home/mariadb/data
# 進入安裝目錄
cd /Home/mariadb# 上傳安裝包
rz mariadb-10.4.18-linux-x86_64.tar.gz# 解壓tar.gz文件
tar -xzvf mariadb-10.4.18-linux-x86_64.tar.gz-x:表示從壓縮檔案中提取文件
-z:表示文件是經過 gzip 壓縮的
-v:表示詳細模式,會在解壓過程中列出所有被處理的文件
-f:指定要處理的文件名# 把解壓的全部文件轉移到當前目錄
mv mariadb-10.4.18-linux-x86_64/* .# 刪除空文件夾
rm -rf mariadb-10.4.18-linux-x86_64
4:創建mysql 用戶并賦予權限
useradd -s /sbin/nologin -M mysql
useradd
:這是用于創建新用戶賬戶的基本命令-s /sbin/nologin
:/sbin/nologin
?是一個特殊的 shell,它不允許用戶登錄系統。當用戶嘗試登錄時,會顯示一條消息說賬戶當前不可用。- 這個設置對于服務賬戶來說很有用,因為它們通常不需要直接登錄系統,而是通過服務本身進行管理
-M
:- 這個選項告訴?
useradd
?命令不要為用戶創建主目錄。 - 默認情況下,
useradd
?會為用戶創建一個主目錄,但對于許多服務賬戶來說,這是不必要的。
- 這個選項告訴?
mysql
:這是新用戶的用戶名。在這個例子中,我們創建了一個名為?mysql
?的用戶,這通常是用于運行 MySQL 數據庫服務的賬戶
#所有權給mysql
sudo chown -R mysql:mysql /home/mariadb
chown
:- 改變文件或目錄的所有者和/或組。
- 語法為?
chown [選項] [新所有者][:新組] 文件或目錄
。
-R
:- 遞歸地更改指定目錄及其所有子目錄和文件的所有權
5:執行安裝腳本
進入到安裝目錄(/Home/mariadb/)
./scripts/mysql_install_db --basedir=/home/mariadb --datadir=/home/mariadb/data --user=mysql
注意上面的腳本路徑分隔符“/”前后不要有空格,否則會有報錯 ,執行響應結果:
Installing MariaDB/MySQL system tables in '/home/mariadb/data' ...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
上面這句提示:如果要開機啟動mysqld,應復制support-files/mysql.server腳本文件到相應的目錄中,參考下面的開機自啟動
?6:修改my.cnf配置文件
在步驟5執行安裝前linux系統中已經存在/etc/my.cnf, mariadb啟動時會檢查這個配置文件,主要配置basedir 和 datadir兩個目錄,及端口號等,修改前可做一個備份;
cp support-files/wsrep.cnf /etc/my.cnf
其中“support-files/wsrep.cnf”根據安裝的mariadb版本不同,名稱會不同
編輯/etc/my.cnf文件:
在[mysqld]節點下增加如下配置:
[mysqld]
basedir=/home/mariadb
datadir=/home/mariadb/data
7:設置mysql環境變量
echo 'export PATH=/home/mariadb/bin:$PATH' > /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
將?/home/mariadb/bin
?追加到系統的?PATH
?環境變量中,重定向輸出到mysql.sh腳本中;“/etc/profile.d/”目錄用于
存放各種 shell 初始化腳本。系統會在用戶登錄時自動加載該目錄下的腳本
查看環境變量:
[root@mftx1438?mariadb]# $PATH
或者驗證mysql 指令是否生效:
[root@mftx1438?mariadb]# mysql --version
mysql ?Ver 15.1 Distrib 10.4.18-MariaDB, for Linux (x86_64) using readline 5.1
8:設置開機自啟動mariadb
# 復制啟動腳本到開機啟動初始化服務腳本中
cp support-files/mysql.server /etc/rc.d/init.d/mysql.server# 加入開機自啟動服務列表中
chkconfig --add mysql.server# 設置開機啟動
chkconfig mysql.server on
此時可以開啟mariadb服務了:
systemctl start mysql.server
或者也可以這樣:/etc/init.d/mysql.server start 對應停止就是stop
9:設置root密碼
開啟mariadb后,執行
mysql -uroot -p
ctrl+C 不輸入密碼登錄;
在mariadb控制臺中輸入下列指令,賦予root賬號權限;
grant all privileges on *.* to 'root'@'%' identified by '111111';
grant all privileges on *.* to 'root'@'localhost' identified by '111111';
grant all privileges on *.* to 'root'@'127.0.0.1' identified by '111111';
flush privileges;
重新使用root登錄mariadb: mysql -uroot -p111111
[root@mftx1438?mariadb]# mysql -uroot -111111
Welcome to the MariaDB monitor. ?Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.4.18-MariaDB MariaDB Server
執行查詢: select @@version
<The end>