原資料檔案存放目錄是預設的/var/lib/mysql
新的資料檔案存放目錄是 /mysql/mysqldata/mysql
1、修改了/etc/mysql/mysql.conf.d/mysqld.cnf,如下:
#datadir = /var/lib/mysql
datadir = /mysql/mysqldata/mysql
2、修改了/etc/apparmor.d/usr.sbin.mysqld,如下:
# Allow data dir access
# /var/lib/mysql/ r,
# /var/lib/mysql/** rwk,
/mysql/mysqldata/mysql/ r,
/mysql/mysqldata/mysql/** rwk,
3、修改了/usr/share/mysql/mysql-systemd-start,如下:
datadir=$(get_mysql_option mysqld datadir "/mysql/mysqldata/mysql")
執行了
sudo service apparmor reload
sudo service apparmor restart
sudo service mysql start
Mysql還是啟動報錯,感覺系統還在讀取之前的mysql資料目錄。日志具體如下。有哪位大神幫忙看看問題到底出在哪里?多謝啦~~~
======================================================================
Apr 25 15:39:45 ecs-0002 systemd[1]: Starting MySQL Community Server...
Apr 25 15:39:45 ecs-0002 kernel: [337743.034195] kauditd_printk_skb: 7 callbacks suppressed
Apr 25 15:39:45 ecs-0002 kernel: [337743.034196] audit: type=1400 audit(1619336385.730:754): apparmor="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/var/lib/mysql/ecs-0002.lower-test" pid=21013 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Apr 25 15:39:45 ecs-0002 kernel: [337743.035880] audit: type=1400 audit(1619336385.734:755): apparmor="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/var/lib/mysql/ecs-0002.lower-test" pid=21013 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Apr 25 15:39:45 ecs-0002 kernel: [337743.035884] audit: type=1400 audit(1619336385.734:756): apparmor="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/var/lib/mysql/ecs-0002.lower-test" pid=21013 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Apr 25 15:39:45 ecs-0002 kernel: [337743.235041] audit: type=1400 audit(1619336385.930:757): apparmor="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/var/lib/mysql/ecs-0002.lower-test" pid=21018 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=113 ouid=113
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.936809Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.936972Z 0 [Warning] Can't create test file /var/lib/mysql/ecs-0002.lower-test
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.937003Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.33-0ubuntu0.18.04.1) starting as process 21018 ...
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.939389Z 0 [Warning] Can't create test file /var/lib/mysql/ecs-0002.lower-test
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.939405Z 0 [Warning] Can't create test file /var/lib/mysql/ecs-0002.lower-test
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.940927Z 0 [Note] InnoDB: PUNCH HOLE support available
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.940992Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.940999Z 0 [Note] InnoDB: Uses event mutexes
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.941001Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.941003Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.941006Z 0 [Note] InnoDB: Using Linux native AIO
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.941210Z 0 [Note] InnoDB: Number of pools: 1
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.941305Z 0 [Note] InnoDB: Using CPU crc32 instructions
Apr 25 15:39:45 ecs-0002 kernel: [337743.237442] audit: type=1400 audit(1619336385.934:758): apparmor="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/var/lib/mysql/ecs-0002.lower-test" pid=21018 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=113 ouid=113
Apr 25 15:39:45 ecs-0002 kernel: [337743.237445] audit: type=1400 audit(1619336385.934:759): apparmor="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/var/lib/mysql/ecs-0002.lower-test" pid=21018 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=113 ouid=113
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.942740Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.949767Z 0 [Note] InnoDB: Completed initialization of buffer pool
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.951759Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.961792Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.961811Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.961815Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
Apr 25 15:39:45 ecs-0002 kernel: [337743.259830] audit: type=1400 audit(1619336385.958:760): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/var/lib/mysql/ibdata1" pid=21018 comm="mysqld" requested_mask="wr" denied_mask="wr" fsuid=113 ouid=113
Apr 25 15:39:46 ecs-0002 mysqld[21016]: 2021-04-25T07:39:46.562265Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
Apr 25 15:39:46 ecs-0002 mysqld[21016]: 2021-04-25T07:39:46.562295Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
Apr 25 15:39:46 ecs-0002 mysqld[21016]: 2021-04-25T07:39:46.562302Z 0 [ERROR] Failed to initialize builtin plugins.
Apr 25 15:39:46 ecs-0002 mysqld[21016]: 2021-04-25T07:39:46.562304Z 0 [ERROR] Aborting
Apr 25 15:39:46 ecs-0002 mysqld[21016]: 2021-04-25T07:39:46.562337Z 0 [Note] Binlog end
Apr 25 15:39:46 ecs-0002 mysqld[21016]: Initialization of mysqld failed: 0
Apr 25 15:39:46 ecs-0002 mysqld[21016]: 2021-04-25T07:39:46.562393Z 0 [Note] Shutting down plugin 'CSV'
Apr 25 15:39:46 ecs-0002 mysqld[21016]: 2021-04-25T07:39:46.562615Z 0 [Note] /usr/sbin/mysqld: Shutdown complete
Apr 25 15:39:46 ecs-0002 systemd[1]: mysql.service: Control process exited, code=exited status=1
Apr 25 15:39:46 ecs-0002 systemd[1]: mysql.service: Failed with result 'exit-code'.
Apr 25 15:39:46 ecs-0002 systemd[1]: Failed to start MySQL Community Server.
Apr 25 15:39:46 ecs-0002 systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
Apr 25 15:39:46 ecs-0002 systemd[1]: mysql.service: Scheduled restart job, restart counter is at 1.
Apr 25 15:39:46 ecs-0002 systemd[1]: Stopped MySQL Community Server.
uj5u.com熱心網友回復:
初始化時候 strace 跟蹤一下,看是否是組態檔讀錯了uj5u.com熱心網友回復:
自己百度error資訊,看第一個報錯 ibdata權限好像有問題,不可寫uj5u.com熱心網友回復:
Apr 25 15:39:45 ecs-0002 mysqld[21016]: 2021-04-25T07:39:45.961792Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
這個看到了,但權限我檢查了的 ,有讀和寫的權限:
uj5u.com熱心網友回復:
