Executando o CentOS 7 com o SE Linux desativado;
# sestatus
SELinux status: disabled
arquivo de configuração do mysql;
[mysqld]
datadir=/home/mysql-data
socket=/home/mysql-data/mysql.sock
permissões no datadir;
home]# ls -la
drwxr-xr-x 3 root root 24 Aug 10 12:22 .
dr-xr-xr-x. 18 root root 256 Aug 10 12:34 ..
drwxr-xr-x 5 mysql mysql 207 Aug 10 13:32 mysql-data
dentro do mysql-data;
mysql-data]# ls -la
total 110636
drwxr-xr-x 5 mysql mysql 207 Aug 10 13:32 .
drwxr-xr-x 3 root root 24 Aug 10 12:22 ..
-rw-rw---- 1 mysql mysql 16384 Aug 10 13:32 aria_log.00000001
-rw-rw---- 1 mysql mysql 52 Aug 10 13:32 aria_log_control
drwx------ 2 mysql mysql 20 Aug 9 09:22 db1
-rw-rw---- 1 mysql mysql 12582912 Aug 10 13:32 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Aug 10 13:32 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Aug 8 20:33 ib_logfile1
-rw-rw---- 1 mysql mysql 0 Aug 8 20:39 multi-master.info
drwx--x--x 2 mysql mysql 4096 Aug 8 20:33 mysql
drwx------ 2 mysql mysql 20 Aug 8 20:33 performance_schema
-rw-rw---- 1 mysql mysql 17890 Aug 8 21:24 server_audit.log
erro ao executar o comando start;
#service mysql start
Starting mysql (via systemctl): Job for mariadb.service failed because
the control process exited with error code. See "systemctl status
mariadb.service" and "journalctl -xe" for details.
[FAILED]
erro;
Starting MariaDB database server...
Aug 10 13:46:47 xxxxx mysqld: 2017-08-10 13:46:47 140520315873536 [Note]
/usr/sbin/mysqld (mysqld 10.1.25-MariaDB) starting as process 5998 ...
Aug 10 13:46:47 xxxxx mysqld: 2017-08-10 13:46:47 140520315873536
[Warning] Can't create test file /home/mysql-data/xxxxx.lower-test
**Aug 10 13:46:47 xxxxx mysqld: #007/usr/sbin/mysqld: Can't change dir to
'/home/mysql-data/' (Errcode: 13 "Permission denied")**
Aug 10 13:46:47 xxxxx mysqld: 2017-08-10 13:46:47 140520315873536 [ERROR]
Aborting
Aug 10 13:46:47 xxxxx systemd: mariadb.service: main process exited,
code=exited, status=1/FAILURE
Aug 10 13:46:47 xxxxx systemd: Failed to start MariaDB database server.
Aug 10 13:46:47 xxxxx systemd: Unit mariadb.service entered failed state.
Aug 10 13:46:47 xxxxx systemd: mariadb.service failed.
Sempre que eu mudar isso de / home / mysql-data para algo como / data / mysql-data, incluindo o socket, não há problemas! por algum motivo, somente / home está dando esse problema!
/ home / mysql-data é gravável mesmo quando sudoing como 'mysql';
sudo -u mysql touch /home/mysql-data/xxxx.lower-test
total 110636
drwxr-xr-x 5 mysql mysql 219 Aug 10 14:04 .
drwxr-xr-x 3 root root 24 Aug 10 12:22 ..
-rw-rw---- 1 mysql mysql 16384 Aug 10 13:32 aria_log.00000001
-rw-rw---- 1 mysql mysql 52 Aug 10 13:32 aria_log_control
drwx------ 2 mysql mysql 20 Aug 9 09:22 db1
-rw-rw---- 1 mysql mysql 12582912 Aug 10 13:32 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Aug 10 13:32 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Aug 8 20:33 ib_logfile1
-rw-rw---- 1 mysql mysql 0 Aug 8 20:39 multi-master.info
drwx--x--x 2 mysql mysql 4096 Aug 8 20:33 mysql
drwx------ 2 mysql mysql 20 Aug 8 20:33 performance_schema
-rw-rw---- 1 mysql mysql 17890 Aug 8 21:24 server_audit.log
-rw-r--r-- 1 mysql mysql 0 Aug 10 14:04 test
A única diferença com / home que eu posso ver é que ele está montado em si mesmo;
df -mh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 50G 2.6G 48G 6% /
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 8.4M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sda1 1014M 184M 831M 19% /boot
/dev/mapper/cl-home 180G 142M 180G 1% /home
tmpfs 6.3G 0 6.3G 0% /run/user/0
Alguém viu isso?
UPDATE / EDIT: assim que eu mudei o arquivo / etc / fstab de
/dev/mapper/cl-home 180G 142M 180G 1% /home
para
/dev/mapper/cl-home 180G 142M 180G 1% /data
O MySQL correu bem. (depois de editar my.cnf para apontar para / data / mysql-data)
O que é sobre / home que o Mysql ou o Centos não gosta? Novamente, o selinux foi desativado e eu não alterei nenhuma permissão ou estrutura ao mudar de / home para / data na montagem.
nunca vi isso antes.