Mariadb 10.3.8:从 MariaDB 存储库安装,缺少文件?

fre*_*eAR 4 mariadb

我已经在 Ubuntu 18 服务器上安装了 MariaDB 10.3.8,如下:

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install mariadb-server
sudo apt install mariadb-client
Run Code Online (Sandbox Code Playgroud)

它没有开始:

sudo service mariadb start
Job for mariadb.service failed because the control process exited with error code.
See "systemctl status mariadb.service" and "journalctl -xe" for details.
Run Code Online (Sandbox Code Playgroud)

日志:

systemctl status mariadb.service
? mariadb.service - MariaDB 10.3.8 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           ??migrated-from-my.cnf-settings.conf
   Active: failed (Result: exit-code) since Thu 2018-07-12 20:18:48 PDT; 46s ago
   Docs: man:mysqld(8)
       https://mariadb.com/kb/en/library/systemd/
  Process: 3392 ExecStartPost=/etc/mysql/debian-start (code=exited, status=203/EXEC)
  Process: 3359 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 3349 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]
  Process: 3342 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
   Process: 3332 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
  Main PID: 3359 (code=exited, status=0/SUCCESS)
Run Code Online (Sandbox Code Playgroud)

状态:“MariaDB 服务器已关闭”

然后,我看到一个丢失的文件:

sudo ls -l /etc/mysql/debian-start
ls: cannot access '/etc/mysql/debian-start': No such file or directory
Run Code Online (Sandbox Code Playgroud)

其他文件丢失:

/etc/mysql/my.cnf
/etc/mysql/conf.d
/etc/mysql/mariadb.cnf
/etc/init.d/mysql
Run Code Online (Sandbox Code Playgroud)

fre*_*eAR 6

我找到了一个解决方案:

以下命令:

apt-get install --reinstall -o Dpkg::Options::="--force-confmiss" mariadb-server-10.3
Run Code Online (Sandbox Code Playgroud)

创建了一些文件:

/etc/mysql/conf.d
/etc/init.d/mysql
/etc/mysql/debian-start
Run Code Online (Sandbox Code Playgroud)

和:

apt-get install --reinstall -o Dpkg::Options::="--force-confmiss" mysql-common
Run Code Online (Sandbox Code Playgroud)

创建:

/etc/mysql/my.cnf
Run Code Online (Sandbox Code Playgroud)