在搞blast2go本地化的时候,发现我ubuntu系统默认将mysql安装在根目录下的,因而mysql的默认数据库路径也就是/var/lib/mysql,在我导入大文件时就出问题了,根目录满了。因此我需要将mysql的默认数据库目录改到我的home目录下 在网上查了好久,终于确定一篇文章,讲的简单明了,而且还完美的解决了问题,附上地址:http://lizhenliang.blog.51cto.com/7876557/1612778李振良OK 的BLOG
简单的在这里说下流程:
我先在home目录下新建一个目录
mkdir /home/anlan/mysql
停止mysql
sudo service mysql stop
修改mysql默认的数据库存放路径
vim /etc/mysql/my.cnf #datadir = /var/lib/mysql #将文件中的这行#掉 datadir = /home/anlan/mysql #改为新的路径
设置新数据库目录属主属组为mysql,这步照做就行
sudo chown mysql:mysql /home/anlan/mysql
修改Ubuntu系统安全设置,这步也是照做即可
vim /etc/apparmor.d/usr.sbin.mysqld #/var/lib/mysql/ r, #将文件中的这行#掉 #/var/lib/mysql/** rwk, #将文件中的这行#掉 /home/anlan/mysql r, #改为新的路径 /data0/mysql/** rwk,** rwk, #改为新的路径
重启AppArmor,如果报错,应该就是apparmor没安装,sudo apt-get install apparmor 安装一下即可
sudo /etc/init.d/apparmor restart
初始化数据库,其他教程没有这步,也没尝试过是不是必须的
sudo mysql_install_db
重新启动mysql
sudo service mysql start
一般当你输入mysql -u root -p后,会发现还是有报错:ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES),这个原因简单的说就是修改后又重新生成的密码跟你mysql安装时设置的密码不一致了,所以要重新设置下密码
mysqladmin -uroot password 'your password'
注意事项
并且由于多次尝试,导致我的mysql删了又重装,当中出现一个明显的问题,就是要将mysql删干净才能在安装时不会报错,因此需要经过下面几步,按照顺序来:
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
反正跟mysql有关的都要删除,似乎是这样的。。。。
本文出自于http://www.bioinfo-scrounger.com转载请注明出处