MySQL和Mariadb数据库故障排错
1、报错信息
Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.
使用 systemctl status mariadb.service

journalctl -xe

- 根据如上Mariadb报错的信息,表示Mariadb数据库服务启动时,要将启动信息、日常的信息写入日志目录中的日志文件中,而错误显示该日志目录不存在:/var/log/mariadb/,解决方法:
- 检测一下该目录/var/log/mariadb/是否存在;
- 如果目录不存在,创建目录即可,并且授权访问;
mkdir -p /var/log/mariadb/ chown -R mysql.mysql /var/log/mariadb/ chmod -R o+w /var/log/mariadb/

根据如上的排错方法,数据库服务还是无法启动,报错信息如下:

- 根据如上Mariadb报错的信息,表示Mariadb数据库服务启动时,会加载Mariadb数据目录中的基础数据、表信息,错误显示数据库服务没有初始化,初始化主要是为了装载基础数据、创建用户、权限信息,定义数据库结构等,确保数据库初始化的时候,数据目录是空的,防止将往前的数据给覆盖。
/usr/bin/mysql_install_db --user=mysql --datadir=/var/lib/mysql/ --force(强制初始化); ll /var/lib/mysql/ chown -R mysql /var/lib/mysql/
- 当我们查看软件服务启动日志、内核日志,均无法查找问题的原因时,记得查看软件服务的自身应用程序日志。应用程序的日志路径可以通过配置文件查找,/etc/my.cnf查看。
#静态查看日志文件末尾30行的日志信息;
tail -n 30 /var/log/mariadb/mariadb.log
#实时查看日志文件末尾30行的日志信息;tail -fn 30 /var/log/mariadb/mariadb.log (背锅侠专用)

- 根据如上的错误提示,表示启动Mariadb数据库服务时,会将启动的进程ID号写入至pid文件中,错误显示该pid文件无法写入,该文件或者目录不存在。
解决方法:
- 检测该文件和目录是否存在,不存在创建并且授权mysql用户访问;
mkdir -p /var/run/mariadb/ chown -R mysql.mysql /var/run/mariadb/

- 使用mysql命令无法进入MYSQL数据库中,报错信息如下:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- #根据如上的错误的提示,表示不能连接MYSQL数据库服务,通过Socket文件:/var/lib/mysql/mysql.sock。
- MYSQL数据库服务属于C/S模式(Client和Server),启动MYSQLD属于服务端,默认执行mysql命令回车(客户端工具|本地访问|远程访问|Navicat)。
- MYSQL数据库连接访问,有两种方式,一种是通过TCP/IP远程连接方式,一种是通过本地socket文件方式,如上错误提示是使用的本地socket文件,可以通过my.cnf查看socket文件路径或者ps -ef|grep mysql查看。
ps -ef|grep mysql cat /etc/my.cnf|grep socket mysql --socket=/tmp/mysql.sock ln -s /var/lib/mysql/mysql.sock /tmp/

- Linux运维常见故障关键词(30+)
- Error|ERROR|error(错误);
- Failed|fail(失败);
- Warning|warn(警告);
- Deny|denied(拒绝);
- Refused|refuse(拒绝);
- Exit|exit(退出);
- No such|No file|NOT(没有);
- Not found|No exist(没有找到|不存在);
- False|false(错误);
- Can’t|Can not(不能)|not initialized(没有初始化);
- Command not found| C CC not found(命令没有发现)
- Cannot create(不能创建);
- Permission denied(没有权限);
- Can't connect(不能连接);
- 基于YUM二进制LNP+MYSQL主从实战
- 准备3台服务器,其中一台作为Nginx WEB服务器+PHP-FPM(FastCGI),另外两台作为MYSQL主从服务器,服务器IP信息:
- 10.10.10.140-Linux+Nginx+PHP
- 10.10.10.141-MYSQL Master;
- 10.10.10.142-MYSQL Slave;

- 配置LNP,Nginx WEB服务器+PHP-FPM(FastCGI),配置方法如下:
- 安装LNP服务;
yum install nginx php php-devel php-mysql php-fpm -y
- Nginx默认发布目录:/usr/share/nginx/html/;
- Nginx配置文件目录:/etc/nginx/
- /usr/share/nginx/html/,发布目录创建index.php测试页面;
vim index.php <?php phpinfo(); ?>

- 配置LNP服务整合;
cd /etc/nginx cp nginx.conf.default nginx.conf
- 添加PHP FastCGI 9000信息内容,其他配置信息不动;
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;} |

- 启动Nginx、PHP-FPM服务即可;
service php-fpm restart service nginx restart


声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。