关于运行mysql_install_db命令导致sudo systemctl start /restart mariadb.service启动失败问题

运行环境:centos 7

数据库:mariadb

问题描述:在yum安装mariadb数据库运行后运行了/var/lib/mysql_install_db命令,从而导致mariadb数据库启动或重启都失败。

故障解决:

[[email protected] mysql]$ sudo systemctl start mariadb.service  
Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.

通过问题描述,首先想到的是运行sudo journalctl -xe 查看以下问题详细信息,但是经查看并没有比较详细的error描述,使我想到了/var/log/mariadb/error.log,经查看获取了以下错误信息,mysqld: File ‘./mysql-bin.000013‘ not found (Errcode: 13),根据提示,查看到底是不是mysql-bin.000013二进制日志文件丢失,ls -l /var/lib/mysql/经查看此文件存在,但却发现此文件的属主与属主和其他文件属主与属组权限不一样,改其属主和属组 sudo chown mysql.mysql mysql-bin.000013,重新启动mariadb问题得以解决。

总结:

在linux下大多数故障的发生都有日志文件的记录,遇到问题不要惊慌,首先查看问题描述,然后通过日志文件描述来解决问题。不要盲目网上查答案。

[[email protected] mysql]$ sudo journalctl -xe  
--
-- Unit mariadb.service has begun shutting down.
11月 04 18:22:46 centos systemd[1]: Stopped MariaDB database server.
-- Subject: Unit mariadb.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mariadb.service has finished shutting down.
11月 04 18:22:46 centos polkitd[636]: Unregistered Authentication Agent for unix-process:13180:865667 (system bus name :1.197,
11月 04 18:22:57 centos sudo[13209]:   centos : TTY=pts/1 ; PWD=/var/lib/mysql ; USER=root ; COMMAND=/bin/systemctl start mari
11月 04 18:22:57 centos polkitd[636]: Registered Authentication Agent for unix-process:13210:866892 (system bus name :1.198 [/
11月 04 18:22:57 centos systemd[1]: Starting MariaDB database server...
-- Subject: Unit mariadb.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mariadb.service has begun starting up.
11月 04 18:22:57 centos mariadb-prepare-db-dir[13217]: Database MariaDB is probably initialized in /var/lib/mysql already, not
11月 04 18:22:57 centos mariadb-prepare-db-dir[13217]: If this is not the case, make sure the /var/lib/mysql is empty before r
11月 04 18:22:57 centos mysqld_safe[13252]: 171104 18:22:57 mysqld_safe Logging to ‘/var/log/mariadb/mariadb.log‘.
11月 04 18:22:57 centos mysqld_safe[13252]: 171104 18:22:57 mysqld_safe Starting mysqld daemon with databases from /var/lib/my
11月 04 18:23:03 centos systemd[1]: mariadb.service: control process exited, code=exited status=1
11月 04 18:23:03 centos systemd[1]: Failed to start MariaDB database server.
-- Subject: Unit mariadb.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mariadb.service has failed.
--
-- The result is failed.
11月 04 18:23:03 centos systemd[1]: Unit mariadb.service entered failed state.
11月 04 18:23:03 centos systemd[1]: mariadb.service failed.
11月 04 18:23:03 centos polkitd[636]: Unregistered Authentication Agent for unix-process:13210:866892 (system bus name :1.198,
11月 04 18:23:16 centos sudo[13683]:   centos : TTY=pts/1 ; PWD=/var/lib/mysql ; USER=root ; COMMAND=/bin/journalctl -xe

[[email protected] mysql]$ sudo tail -n 30 /var/log/mariadb/error.log

171104 18:22:59 Percona XtraDB (http://www.percona.com) 5.5.52-MariaDB-38.3 started; log sequence number 1597964
171104 18:22:59 [Note] Plugin ‘FEEDBACK‘ is disabled.
171104 18:22:59 [ERROR] mysqld: File ‘./mysql-bin.000013‘ not found (Errcode: 13)
171104 18:22:59 [ERROR] Failed to open log (file ‘./mysql-bin.000013‘, errno 13)
171104 18:22:59 [ERROR] Could not open log file
171104 18:22:59 [ERROR] Can‘t init tc log
171104 18:22:59 [ERROR] Aborting

时间: 2024-11-10 14:37:11

关于运行mysql_install_db命令导致sudo systemctl start /restart mariadb.service启动失败问题的相关文章

Windows运行常用命令(win+R)

Windows运行常用命令(win+R) 1.calc: 启动计算器 2.notepad: 打开记事本 3.write: 写字板 4.mspaint: 画图板 5.snippingtool:截图工具,支持无规则截图 6.mplayer2: 简易widnows media player 7.Sndvol: 音量控制程序 8.osk: 打开屏幕键盘 9.mstsc: 远程桌面连接 10.cleanmgr: 打开磁盘清理工具 11.compmgmt.msc: 计算机管理 12.cmd.exe: CMD

RHEL 7中systemctl用法(替换service和chkconfig)

传统的Linux系统启动过程主要由著名的init进程(也被称为SysV init启动系统)处理,而基于init的启动系统被认为有效率不足的问题,systemd是Linux系统机器的另一种启动方式,宣称弥补了以传统Linux SysV init为基础的系统的缺点. 1.列出正在运行的服务 [[email protected] ~]# systemctl    UNIT                                                                  

Ubuntu 下误修改用户组导致sudo命令无效

1.手贱地修改了当前用户的权限组,导致sudo命令无法使用,且root用户的密码尚未修改,登陆不了root用户. 2.切换到recoverymode ,使用root用户登陆 3.执行mount -o rw,remount /命令可以修改文件系统为读写 4.然后使用passwd 命令修改root用户密码,重启 5.su - 命令切换到root 用户 6.修改/etc/sudoers文件把当前用户添加到root (ALL:ALL)=ALL行下 kevin (ALL:ALL)=ALL

Mac 无法运行node命令的解决方法

在安装node时提示:node-7.2.1 already installed, it's just not linked 导致无法运行node命令 按照特定的顺序执行这个命令列表: sudo brew uninstall node brew update brew upgrade brew cleanup brew install node sudo chown -R $(whoami) /usr/local brew link --overwrite node brew postinstal

cocoapods 在10.11下运行pod命令报-bash: pod: command not found

系统是10.11,在运行pod命令是报:-bash: pod: command not found,于是开始找办法解决. 先试了试第一种方案. sudo gem install -n /usr/local/bin cocoapods 运行成功,但还是会报command not found 不得已再试另一种方法. $ mkdir -p $HOME/Software/ruby $ export GEM_HOME=$HOME/Software/ruby $ gem install cocoapods

mysql配置文件夹错误:在安装mysql 5.6.19 时运行cmake命令是出现CMake Error: The source directory does not appear to contai

在安装mysql 5.5.xx 时运行cmake命令是出现CMake Error: The source directory does not appear to contain CMakeLists.txt.的错误,刚開始以为是cmake版本号有问题,到最后才发现是当前文件夹错了. 在运行cmake时没有切换到mysql的源代码文件夹导致了这个错误,切换到mysql的源代码文件夹又一次运行cmake命令就可以. 下面的命令在解压后的文件夹内运行下面命令: cmake \ -DCMAKE_INS

8、实战演练su命令与sudo服务

su和su- 切换方式 实例: sudo 提权 sudo的特色功能 sudo命令的常用参数 注意 案例1--允许zhanghe用户执行所有命令: 案例2--仅允许linuxprobe用户以root用户身份执行cat命令. 案例3--允许linuxprobe用户以任意身份执行命令,且每次都不需要密码验证. su和su- 在工作生产环境中不要去使用root用户身份,因为一旦执行了错误的命令后可能直接让系统崩溃.但因为许多的系统管理命令和服务为了安全所以只有超级用户才可以使用,因此这也无疑让普通用户受

因修改/etc/sudoers权限导致sudo和su不能使用的解决方法

因为修改了/etc/sudoers以及相关权限,导致sudo无法使用,恰好Ubuntu的root密码没有设置,每次执行 su - 时.输入密码,提示:认证错误 . 解决方法: 1.重启ubuntu,启动时按Esc或Shift键,可以看到引导选项: 2.在引导选项中选择Recovery模式的那一项来引导: 3.进入Recovery Menu页面,选择root,也就是进入试用root用户进行系统恢复,在这里可以执行超级用户的权限的操作,回车后可以看到熟悉的 [email protected] ~#

Linux crontab下关于使用date命令和sudo命令的坑

想要在root 的crontab里面加一些任务计划,希望以www用户运行命令,并且将输出重定向到某处以当时时间命名的日志文件,大致如下 /usr/bin/sudo -u www /usr/local/php/bin/php /www/open/www.php  &> /var/log/xxx_cron_log/www_$(date +"%Y%m%d_%H:%M").log 此处有两个坑: 1.习惯上的`date +"%Y%m%d_%H:%M"` 和 $