阿里云上安装 Ubuntu + MariaDB
任务
- 安装第二个磁盘
- 设置第二个磁盘为数据盘
- 安装 MariaDB
- 配置 MariaDB 的数据文件目录
- 配置 MariaDB 远程访问
安装第二个磁盘
- 使用
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
- 卸载已有的安装
systemctl stop mariadb
systemctl disable mariadb
sudo apt remove mariadb-server
sudo apt remove mysql-server
- 配置 MariaDB 安装仓库
下面是针对Ubuntu 20.04
+MariaDB 10.6
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 远程访问
- 配置用户
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