依赖RHEL的使用习惯,以为直接在/etc/my.cnf修改”dbdir=/var/lib/mysql”即可。事实证明,此经验是行不通的。在Ubuntu Server中,只要按此修改,再启动mysqld’’/etc/init.d/mysql start’’,执行结果一定是failed。

Ubuntu Server采取了Suse的杀手级应用AppArmor,对一些关键业务的读写权限有严格限制。需要改动这些业务,需要在AppArmor模块中加入Allow规则。

具体操作流程如下:

1.修改MySQL dbdir参数

#vim /etc/my.cnf
dbdir = /data0/data_mysql

2.在AppArmor中加入Allow规则

vim /etc/apparmor.d/usr.sbin.mysqld
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,

修改为

/data0/data_mysql/ r,
/data0/data_mysql/** rwk,

3.重新建立mysql数据库

sudo mysql_install_db

4.启动mysql服务

sudo /etc/init.d/mysql start

5.设置数据库密码

mysqladmin –u root password ‘newpassword’

6.在/etc/mysql/debian.cnf中找到你的debian-sys-maint用户密码,在mysql中重新建立这个用户。

,
Trackback

no comment untill now

Add your comment now