部署一个mysql,应该算是基本功吧?可是我搞很多次才成功的
我在网上尝试了很多教程,觉得这个最好
MySQL安装完毕之后,会自动启动。先停机,然后修改配置。新版的目录一般都是 /etc/mysql/my.cnf
,修改datadir到相应的目录
sudo service mysql stop
在配置文件中修改
datadir = /data/mysql/mysql
修改目标目录的权限
sudo chown -R mysql:mysql /data/mysql
然后把之前的数据转移到这个目录。推荐使用rsync,可以保留之前的文件的权限。我第一次不成功,就是因为有部分文件应该root用户的,而我给改成了mysql
sudo rsync -av /var/lib/mysql /data/mysql
然后备份
sudo mv /var/lib/mysql /var/lib/mysql.bak
然后需要修改apparmor的配置,apparmor是ubuntu上安全相关的模块,有的教程推荐修改白名单,我之前尝试失败了,感觉设置别名更好
sudo vim /etc/apparmor.d/tunables/alias
然后加入这样一行,注意逗号
alias /var/lib/mysql/ -> /data/mysql/mysql/,
然后重启apparmor服务
sudo service apparmor restart
因为mysql启动的时候会去检查/var/lib/mysql
目录,所以我们依然要创建这个目录
sudo mkdir /var/lib/mysql/mysql -p
我忘记要不要改权限了,改了也不麻烦。
然后就可以重启mysql了。
sudo service mysql start
sudo service mysql status