九
08
依赖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中重新建立这个用户。
Address: http://99dev.net/archives/654
no comment untill now