MariaDB报错解决方法

1)服务起不来或者加进不了集群

法1:

rm -rf mysql.sock

rm -rf galera.cache

rm -rf mariadb.pid

rm -rf /var/lock/subsys/mysql


法2:

把/etc/my.cnf/server.cn

把集群配置全部注释,启动单机服务,然后再关闭服务,把集群配置再加进去,再启动服务

注意:若不是加入不了集群问题,就不要把集群文件删了


2)Table '.\mysql\proc' is marked as crashed and should be repaired 报错 

解决方法:

找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:

myisamchk -c -r /var/lib/mysql/mysql/proc.MYI

然后myisamchk 工具会帮助你恢复数据表的索引。重新启动mysql,问题解决。


3)[ERROR] Found 1 prepared transactions! It means that mysqld was not shut down properly last time and critical recovery inform

ation (last binlog or tc.log file) was manually deleted after a crash. You have to start mysqld with --tc-heuristic-recover switch to commit

or rollback pending transactions.

160107 16:10:46 [ERROR] Aborting

解决方法

service mysql start --tc-heuristic-recover=ROLLBACK


4)4160107 16:23:41 [ERROR] WSREP: gcs/src/gcs_core.cpp:long int gcs_core_open(gcs_core_t*, const char*, const char*, bool)():206: Failed to open

 backend connection: -98 (Address already in use)

解决方法,把这一台重新初始化,把

wsrep_cluster_address="gcomm://"后面的IP重新清空


5)160106  0:42:48 [Note] InnoDB: Shutdown completed; log sequence number 1617594

160106  0:42:48 [Note] /usr/sbin/mysqld: Shutdown complete

解决方法:1、检查有没有3306端口或MySQL服务已经启动占用了端口

 2、关闭防火墙和SElinux


6)注意:MariaDBR的同步方式有两种 mysqldump、rsync,建议选择rsync的同步方式

mysqldump 的同步方式只要前方有一数据库坏了,我连不上,那么就算前方数据库修好了,我连接他就会报没有权限且永远不能同步

rsync 的同步方式连接时不管数据库有没有坏,我是基于ssh的同步,只要ssh开了,都装了rsync,等前方数据库好了,同步过去就不会有问题