And*_*ley 2 mysql mariadb ubuntu galera mariadb-10.1
我正在通过德克萨斯大学镜像10.1.16-MariaDB-1~xenial
从官方 MariaDB apt 存储库中使用 10.1 [stable]。
我在 3 台 Ubuntu 16.04 服务器上设置了一个完美运行的 MariaDB Galera 集群。
然后我升级了它们。现在我什么都没有。
升级到 10.1.16 失败,迅速导致整个集群瘫痪。我没有输出,但是 dpkg 在设置mariadb-server
和mariadb-server-10.1
.
我有备份的,所以我从我的服务器上清除MariaDB的/ MySQL的/加莱拉的所有痕迹(包括移除/var/lib/mysql/
,/etc/mysql/
和/var/log/mysql/
),并开始了。但是,现在,在每台服务器上进行全新安装后,标准系统启动脚本都不起作用。我怀疑这也是升级过程apt
失败的原因。
我已经在我的第一个节点上尝试了以下各项:
galera_new_cluster
service mysql bootstrap
service mysql bootstrap --wsrep-new-cluster
service mysql bootstrap --wsrep-cluster-address="gcomm://"
service mysql start
service mysql start --wsrep-new-cluster
service mysql start --wsrep-cluster-address="gcomm://"
systemctl start mariadb
systemctl start mariadb --wsrep-new-cluster
systemctl start mariadb --wsrep-cluster-address="gcomm://"
Run Code Online (Sandbox Code Playgroud)
每一个都给了我相同的输出:
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 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 Fri 2016-07-22 13:29:45 CDT; 42s ago
Process: 10799 ExecStartPre=/bin/sh -c VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=1/FAILURE)
Process: 10794 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Main PID: 16865 (code=exited, status=0/SUCCESS)
Jul 22 13:29:41 sql2 systemd[1]: Starting MariaDB database server...
Jul 22 13:29:45 sql2 mysqld[10799]: WSREP: Failed to recover position: '2016-07-22 13:29:41 140110745778432 [Note] /usr/sbin/mysqld (mysqld 10.1.16-MariaDB-1~xenial) starting as process 11080 ...'
Jul 22 13:29:45 sql2 systemd[1]: mariadb.service: Control process exited, code=exited status=1
Jul 22 13:29:45 sql2 systemd[1]: Failed to start MariaDB database server.
Jul 22 13:29:45 sql2 systemd[1]: mariadb.service: Unit entered failed state.
Jul 22 13:29:45 sql2 systemd[1]: mariadb.service: Failed with result 'exit-code'.
Run Code Online (Sandbox Code Playgroud)
我现在可以启动服务器的唯一方法是手动执行:
sudo -u mysql mysqld --wsrep-cluster-address='gcomm://'
Run Code Online (Sandbox Code Playgroud)
在第一个节点上,然后:
sudo -u mysql mysqld --wsrep-cluster-address='gcomm://ip1,ip2,ip3'
Run Code Online (Sandbox Code Playgroud)
在另外两个节点上。那行得通,我又有了一个工作集群。但是现在,systemd/systemctl 不知道该服务正在运行。似乎 systemd 启动脚本根本无法使用wsrep-cluster-address
我的配置文件中的设置。将其指定为service
或systemctl
命令行也不起作用。
我应该如何启动 mariadb?