Ubuntu 9.10 修改 MySQL 的 datadir
新安装完Ubuntu 9.10, 想把MySQL的datadir设为/home/mysql. 修改my.cnf后, 重启失败. 查系统日志, 有如下记录:Nov 7 10:41:25 a
新安装完Ubuntu 9.10, 想把MySQL的datadir设为/home/mysql. 修改my.cnf后, 重启失败. 查系统日志, 有如下记录:
Nov 7 10:41:25 agroom mysqld: 091107 10:41:25 [Warning] Can't create test file /home/mysql/agroom.lower-test
Nov 7 10:41:25 agroom kernel: [ 2806.844060] type=1503 audit(1257561685.971:187): operation="mknod" pid=5620 parent=5506 profile="/usr/sbin/mysqld" requested_mask="w::" denied_mask="w::" fsuid=0 ouid=0
...
Nov 7 10:41:26 agroom mysqld: InnoDB: The error means mysqld does not have the access rights to
Nov 7 10:41:26 agroom mysqld: InnoDB: the directory.
Nov 7 10:41:26 agroom mysqld: InnoDB: File name ./ibdata1
Nov 7 10:41:26 agroom mysqld: InnoDB: File operation call: 'open'.
Nov 7 10:41:26 agroom mysqld: InnoDB: Cannot continue operation.
Nov 7 10:41:26 agroom kernel: [ 2806.902273] type=1503 audit(1257561686.031:190): operation="open" pid=5620 parent=5506 profile="/usr/sbin/mysqld" requested_mask="rw::" denied_mask="rw::" fsuid=113 ouid=113
应该是与权限有关, 更像是与某种安全机制有关. ubuntu 9.10默认未启用SELinux, 但是好像有个apparmor. 这时想起my.cnf里有段注释:
[mysqld]
#
# * Basic Settings
#
#
# * IMPORTANT
# If you make changes to these settings and your system uses apparmor, you may
# also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#
查看/etc/apparmor.d/usr.sbin.mysqld, 的确是一些目录的权限设置. 照样加入/home/mysql. 重启成功
,推荐阅读
-
Ubuntu 9.10 修改 MySQL 的 datadir
-
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤_PHP教程
-
MySQL查询和修改auto_increment的方法
-
mysql修改数据库编码(数据库字符集)和表的字符编码的方法
-
在Ubuntu或Debian系统的服务器上卸载MySQL的方法
-
修改MySQL的数据库引擎为INNODB的方法
-
MySQL修改编码为UTF-8无效的解决办法
-
更改Mysql5.7.26的默认编码为utf8解决database为latin1无法修改问题
-
批量删除和修改特定前缀的mysql表
-
Ubuntu16.04中Pycharm的安装+修改Pycharm字体+Pycharm上配置conda