阿里雲上安裝 Ubuntu + MariaDB
任務
- 安裝第二個磁盤
- 設置第二個磁盤爲數據盤
- 安裝 MariaDB
- 配置 MariaDB 的數據文件目錄
- 配置 MariaDB 遠程訪問
安裝第二個磁盤
- 參考: 阿里雲: 配置磁盤 B
- 使用
GPT
分區
# 運行以下命令開始分區。
parted /dev/vdb
# 運行以下命令,設置GPT分區格式。
parted> mklabel gpt
# 運行以下命令,劃分一個主分區,並設置分區的開始位置和結束位置。
parted> mkpart primary 1 100%
# 運行以下命令,檢查分區是否對齊。
parted> align-check optimal 1
# 結果如下所示:
# > 1 aligned
# 說明 如果返回的是1 not aligned,表示分區未對齊。如何處理請參見常見問題。
# 運行以下命令,查看分區表。
parted> print
# 運行以下命令,退出Parted工具。
parted> quit
- 使用
ext4
文件系統(不過 xfs 似乎更好)ext4
文件系統格式/app
爲掛載目錄
# 查看文件系統
df -lh
# 查看物理磁盤
fdisk -l | grep "Disk /"
# 檢查磁盤B
fdisk -lu /dev/vdb
# 格式化磁盤
mkfs -t ext4 /dev/vdb1
# 掛載分區
cp /etc/fstab /etc/fstab.bak
echo `blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'` /app ext4 defaults 0 0 >> /etc/fstab
mkdir /app
mount -a
# 查看文件系統
df -lh
安裝 MariaDB
-
參照: MariaDB: 官方安裝
-
卸載已有的安裝
systemctl stop mariadb
systemctl disable mariadb
sudo apt remove mariadb-server
sudo apt remove mysql-server
- 配置 MariaDB 安裝倉庫
下面是針對Ubuntu 20.04
+MariaDB 10.6
其它版本請參考: MariaDB: 官方安裝
sudo apt-get install software-properties-common dirmngr apt-transport-https
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el,s390x] https://mirrors.aliyun.com/mariadb/repo/10.6/ubuntu focal main'
- 安裝 MariaDB
sudo apt-get update
sudo apt-get install mariadb-server
whereis mysql
# 檢查 mysql 組和用戶是否存在。不存在需要創建
cat /etc/passwd | grep mysql
cat /etc/group | grep mysql
配置 MariaDB
配置文件: /etc/mysql/mariadb.conf.d/50-server.cnf
設置:
- 數據文件目錄爲:
/app/mysql/data
- 端口號:
3307
- 遠程訪問
datadir = /app/mysql/data
port = 3307
# bind-address = 127.0.0.1
配置 MariaDB 的數據文件目錄
mkdir -p /app/mysql/data
chown -R mysql:mysql /app/mysql
/usr/bin/mysql_install_db --user=mysql --datadir=/app/mysql/data
配置 MariaDB 的 root 密碼
# 啓動
systemctl start mariadb
# 設置自動啓動
systemctl enable mariadb
# 密碼
mysqladmin -u root password 'RootPassword'
# 本機連接
mysql -uroot -pRootPassword
配置 MariaDB 遠程訪問
-
參考: MariaDB: 配置遠程訪問
-
配置用戶
mysql -uroot -pRootPassword
use mysql;
select user, host from user;
CREATE USER 'root'@'%' IDENTIFIED BY 'RootPassword';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
select user, host from user;
# 查看 mariadb 是否啓動,和端口號
netstat -lnp | grep mysqld
# 測試本地是否可以連接
mysql -uroot -pRootPassword --port=3307 --protocol=tcp