千家信息网

CentOS 7下mysql 8修改datadir之后不能启动

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,尝试修改了mysql的datadir参数, 同时将数据文件拷贝到了新的目录/data下, 但是启动mysql服务时,提示:[root@mysql8-01 data]# systemctl status
千家信息网最后更新 2025年01月24日CentOS 7下mysql 8修改datadir之后不能启动

尝试修改了mysql的datadir参数, 同时将数据文件拷贝到了新的目录/data下, 但是启动mysql服务时,提示:

[root@mysql8-01 data]# systemctl status mysqld

● mysqld.service - MySQL Server

Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

Active: failed (Result: exit-code) since Wed 2019-07-03 10:42:07 CST; 14s ago

Docs: man:mysqld(8)

http://dev.mysql.com/doc/refman/en/using-systemd.html

Process: 2907 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS (code=exited, status=1/FAILURE)

Process: 2885 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)

Main PID: 2907 (code=exited, status=1/FAILURE)

Status: "SERVER_BOOTING"

Error: 13 (Permission denied)


Jul 03 10:42:06 mysql8-01 systemd[1]: Starting MySQL Server...

Jul 03 10:42:07 mysql8-01 systemd[1]: mysqld.service: main process exited, code=exited, status=1/FAILURE

Jul 03 10:42:07 mysql8-01 systemd[1]: Failed to start MySQL Server.

Jul 03 10:42:07 mysql8-01 systemd[1]: Unit mysqld.service entered failed state.

Jul 03 10:42:07 mysql8-01 systemd[1]: mysqld.service failed.


查看mysql日志,发现有如下警告

2019-07-03T02:38:28.679543Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.14) MySQL Community Server - GPL.

mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)

2019-07-03T02:40:21.848131Z 0 [Warning] [MY-010091] [Server] Can't create test file /data/mysql8-01.lower-test

2019-07-03T02:40:21.848279Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.14) starting as process 2822

2019-07-03T02:40:21.867130Z 0 [Warning] [MY-010091] [Server] Can't create test file /data/mysql8-01.lower-test

2019-07-03T02:40:21.867181Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /data/ is case insensitive

2019-07-03T02:40:21.868211Z 0 [ERROR] [MY-010119] [Server] Aborting

2019-07-03T02:40:21.868431Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.14) MySQL Community Server - GPL.

mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)

2019-07-03T02:42:07.555956Z 0 [Warning] [MY-010091] [Server] Can't create test file /data/mysql8-01.lower-test

2019-07-03T02:42:07.556036Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.14) starting as process 2907

2019-07-03T02:42:07.558851Z 0 [Warning] [MY-010091] [Server] Can't create test file /data/mysql8-01.lower-test

2019-07-03T02:42:07.558865Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /data/ is case insensitive

2019-07-03T02:42:07.559679Z 0 [ERROR] [MY-010119] [Server] Aborting

2019-07-03T02:42:07.559877Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.14) MySQL Community Server - GPL.


这里,需要将Selinux关闭:

[root@mysql8-01 data]# vi /etc/selinux/config

[root@mysql8-01 data]#

[root@mysql8-01 data]# setenforcing 0

bash: setenforcing: command not found...

[root@mysql8-01 data]# setenforce 0

[root@mysql8-01 data]#

[root@mysql8-01 data]#

[root@mysql8-01 data]# systemctl start mysqld

[root@mysql8-01 data]#

[root@mysql8-01 data]#

[root@mysql8-01 data]# systemctl status mysqld

● mysqld.service - MySQL Server

Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

Active: active (running) since Wed 2019-07-03 10:46:09 CST; 5s ago

Docs: man:mysqld(8)

http://dev.mysql.com/doc/refman/en/using-systemd.html

Process: 3020 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)

Main PID: 3042 (mysqld)

Status: "SERVER_OPERATING"

CGroup: /system.slice/mysqld.service

└─3042 /usr/sbin/mysqld


Jul 03 10:46:06 mysql8-01 systemd[1]: Starting MySQL Server...

Jul 03 10:46:09 mysql8-01 systemd[1]: Started MySQL Server.


再此尝试启动,成功

0