在 NFS 共享中安装 MariaDB (MySQL) 数据库文件并以普通用户身份运行服务的步骤 (Linux)

fre*_*eAR 5 mysql mariadb

我一直在寻找说明,但找不到以下内容的完整说明集:

  1. 安装 MariaDB (MySQL) 数据库并登录 NFS 共享
  2. 以 NIS 中定义的普通用户身份运行 MariaDB 守护进程

使用:

  • Linux Ubuntu 14.04
  • 玛丽亚数据库 10.2.5

在阅读了许多帖子并进行了一些试验和错误之后,我想出了下面列出的步骤。 我想知道是否有遗漏或错误??

1- 在 NFS 中创建目录:

mkdir /nfs_dir/data -p
mkdir /nfs_dir/logs -p
chmod 700 /nfs_dir/data
chmod 750 /nfs_dir/logs
chown nisuser:nisgroup ...
Run Code Online (Sandbox Code Playgroud)

2- 本地驱动器中的 Crate 运行目录:

sudo mkdir /var/run/mariadb
sudo chown nisuser:nisgroup /var/run/mariadb
sudo chmod 755 /var/run/mariadb
Run Code Online (Sandbox Code Playgroud)

3- 安装 MariaDB

来自 download.mariadb.org 的说明

4- sudo service mysql stop

5- 在 NFS 中创建数据库文件: sudo mysql_install_db --user=nisuser --datadir/nfs_dir/data

6- 编辑 MariaDB 配置(下面只显示编辑过的行,其他保持默认):

sudo vi /etc/mysql/my.cnf

[client]
socket = /var/run/mariadb/m.sock

[mysql_safe]
socket = /var/run/mariadb/m.sock

[mysqld]
user = nisuser
pid-file = /var/run/mariadb/m.pid
socket  = /var/run/mariadb/m.sock
datadir = /nfs_dir/data
log_warnings = 1
log_error = /nfs_dir/logs/error.log
log_bin = /nfs_dir/logs/mysql-bin.log
Run Code Online (Sandbox Code Playgroud)

7 - 更新 MySQL Init 脚本

sudo vi /etc/init.d/mysql
Run Code Online (Sandbox Code Playgroud)

更换测试线如下:

test -e /var/run/mariadb || install -m 755 -o nisuser -g nisgroup -d /var/run/mariadb
Run Code Online (Sandbox Code Playgroud)

8 - 更新 Debian 配置文件

sudo /etc/mysql/debian.cnf

[client]
socket = /var/run/mariadb/m.sock

[mysql_upgrade]
socket = /var/run/mariadb/m.sock
Run Code Online (Sandbox Code Playgroud)

9-在 mysql > user 表中创建 debian-sys-main 用户

create user 'debian-sys-main'@'localhost' identified by 'password_from_debian_file'; GRANT ALL PRIVILEGES ON *.* to 'debian-sys-main'@'localhost' with GRANT OPTION;
Run Code Online (Sandbox Code Playgroud)

10 - 重启 MariaDB

sudo service mysql restart
Run Code Online (Sandbox Code Playgroud)