之前把数据目/home/mysql/,后来服务器重启后,MariaDB启动失败
[root@master~]# systemctl status mariadb.service
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2022-12-09 22:00:13 CST; 31min ago
Process: 5614 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
Process: 5612 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=1/FAILURE)
Process: 5577 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 5612 (code=exited, status=1/FAILURE)
1、修改my.cnf (新增红色部分)
[mysqld] datadir=/home/mysql socket=/home/mysql/mysql.sock skip-name-resolve
2、修改 server.cnf (红色部分)
[mysqld]
datadir=/home/mysql
3、重新执行安装命令:mysql_install_db --defaults-file=/etc/my.cnf --datadir=/home/mysql/ --user=mysql
[root@master-yzjbz2529366242-1572572233406-1101810 mysql]# mysql_install_db --defaults-file=/etc/my.cnf --datadir=/home/mysql/mysql/ --user=mysql
Neither host 'master-yzjbz2529366242-1572572233406-1101810.novalocal' nor 'localhost' could be looked up with
'/usr/libexec/resolveip'
Please configure the 'hostname' command to return a correct
hostname.
If you want to solve this at a later stage, restart this script
with the --force optionThe latest information about mysql_install_db is available at
https://mariadb.com/kb/en/installing-system-tables-mysql_install_db
4、启动MariaDB再次失败
[root@master-yzjbz2529366242-1572572233406-1101810 mysql]# journalctl -xe
--
-- Unit session-14.scope has finished starting up.
--
-- The start-up result is done.
Dec 09 23:01:01 master-yzjbz2529366242-1572572233406-1101810.novalocal CROND[13978]: (root) CMD (run-parts /etc/cron.hourly)
Dec 09 23:01:01 master-yzjbz2529366242-1572572233406-1101810.novalocal run-parts(/etc/cron.hourly)[13981]: starting 0anacron
Dec 09 23:01:01 master-yzjbz2529366242-1572572233406-1101810.novalocal run-parts(/etc/cron.hourly)[13987]: finished 0anacron
Dec 09 23:01:03 master-yzjbz2529366242-1572572233406-1101810.novalocal sshd[13989]: Invalid user dudu from 47.95.15.159 port 41200
Dec 09 23:01:03 master-yzjbz2529366242-1572572233406-1101810.novalocal sshd[13989]: input_userauth_request: invalid user dudu [preauth]
Dec 09 23:01:03 master-yzjbz2529366242-1572572233406-1101810.novalocal sshd[13989]: pam_unix(sshd:auth): check pass; user unknown
Dec 09 23:01:03 master-yzjbz2529366242-1572572233406-1101810.novalocal sshd[13989]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=47.95.15.159
Dec 09 23:01:05 master-yzjbz2529366242-1572572233406-1101810.novalocal sshd[13989]: Failed password for invalid user dudu from 47.95.15.159 port 41200 ssh2
Dec 09 23:01:05 master-yzjbz2529366242-1572572233406-1101810.novalocal sshd[13989]: Connection closed by 47.95.15.159 port 41200 [preauth]
Dec 09 23:01:15 master-yzjbz2529366242-1572572233406-1101810.novalocal sshd[14011]: Accepted password for root from 59.41.49.127 port 11260 ssh2
Dec 09 23:01:15 master-yzjbz2529366242-1572572233406-1101810.novalocal systemd[1]: Started Session 15 of user root.
6、/dev/null: Permission denied
根据提示,用"systemctl status mysqld.service" 和 "journalctl -xe"分别查看。
发现 /dev/null: Permission denied 字样,估计是该目录权限问题
用 ls -ld /dev/null 查看,该目录还是root,需要改为mysql用户,指令:chown mysql.mysql /dev/null。
[root@master-yzjbz2529366242-1572572233406-1101810 mysql]# ls -ld /dev/null
crw-r--r-- 1 root root 1, 3 Dec 9 21:52 /dev/null
[root@master-yzjbz2529366242-1572572233406-1101810 mysql]# chown mysql.mysql /dev/null
[root@master-yzjbz2529366242-1572572233406-1101810 mysql]# ls -ld /dev/null
crw-r--r-- 1 mysql mysql 1, 3 Dec 9 21:52 /dev/null
7、 启动MariaDB成功!!!
[root@master-yzjbz2529366242-1572572233406-1101810 mysql]# systemctl start mariadb.service
[root@master-yzjbz2529366242-1572572233406-1101810 mysql]# systemctl status mariadb.service
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2022-12-09 23:08:21 CST; 21s ago
Process: 15364 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 15327 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 15362 (mysqld_safe)