CentOS 7下mysql 8修改datadir之後不能啟動

abstractcyj發表於2019-07-03

嘗試修改了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.


再此嘗試啟動,成功

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8520577/viewspace-2649389/,如需轉載,請註明出處,否則將追究法律責任。

相關文章