ubuntu系统下更改mysql数据目录的方法
2013-11-22 11:56
218 查看
系统环境:Ubuntu 12.04(其他版本其实也类似),使用apt-get install mysql-server。
默认情况下,mysql的数据目录是/var/lib/mysql,因为如果你的数据库以后会越来越大,那么你就得考虑用一个空间足够大的分区来存放数据库文件,所以还是选择把它修改到其他位置,比如/usr/data/mysql_data。这个目录可以直接挂载一个大硬盘。
具体修改方式如下(为了方便起见,你可以先用su命令将系统当前用户转到root,否则以下命令可能都需要加上sudo 前缀):
1、 /etc/init.d/mysql stop
2、 chown mysql:mysql /usr/data/mysql_data
3、vim /etc/mysql/my.cnf
找到datadir=/var/lib/mysql
将它改为datadir=/usr/data/mysql_data
4、cp -a /var/lib/mysql/* /usr/data/mysql_data
5、vim /etc/apparmor.d/usr.sbin.mysqld
我们会看到此文件中有2行:
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
以上是针对默认数据目录的权限配置,所以据此我们增加两行,指向新目录,设置同样的权限:
/newdir/mysql/ r,
/newdir/mysql/** rwk,
6、/etc/init.d/apparmor restart
7、 /etc/init.d/mysql start
OK,到此就已经成功转移了mysql数据目录。
为了测试,我们登入mysql,然后创建一个数据库newdb,再看一下/usr/data/mysql_data目录,发现多了一个newdb目录,说明数据目录已经成功转移到新目录下了。
结果连进mysql,创建数据库报错,问题接踵而来
突然就不能创建库和表了,错误信息如下:
mysql> create database newdb1;
ERROR 1006 (HY000): Can't create database 'newdb1' (errno: 13)
放到google搜索和查看文档发现原来权限不足:
查看原先的mysql默认目录/var/lib/mysql
drwxr-xr-x 8 mysql mysql 4096 Nov 20 09:44 mysql/
再看我们刚移入的新目录/usr/data/mysql_data
drwxr-xr-x 8 root root 4096 Nov 22 09:44 mysql_data
仔细一对比,要给新目录赋予权限:chown -R mysql:mysql mysql_data
再查看新目录
drwxr-xr-x 8 mysql mysql 4096 Nov 22 09:44 mysql_data
重新登录mysql进去可以创建,并且创建的newdb在新目录下!
参考:http://www.douban.com/note/170186265/
http://yoozhu.com/?p=1437
http://xplazy.iteye.com/blog/657456
默认情况下,mysql的数据目录是/var/lib/mysql,因为如果你的数据库以后会越来越大,那么你就得考虑用一个空间足够大的分区来存放数据库文件,所以还是选择把它修改到其他位置,比如/usr/data/mysql_data。这个目录可以直接挂载一个大硬盘。
具体修改方式如下(为了方便起见,你可以先用su命令将系统当前用户转到root,否则以下命令可能都需要加上sudo 前缀):
1、 /etc/init.d/mysql stop
2、 chown mysql:mysql /usr/data/mysql_data
3、vim /etc/mysql/my.cnf
找到datadir=/var/lib/mysql
将它改为datadir=/usr/data/mysql_data
4、cp -a /var/lib/mysql/* /usr/data/mysql_data
5、vim /etc/apparmor.d/usr.sbin.mysqld
我们会看到此文件中有2行:
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
以上是针对默认数据目录的权限配置,所以据此我们增加两行,指向新目录,设置同样的权限:
/newdir/mysql/ r,
/newdir/mysql/** rwk,
6、/etc/init.d/apparmor restart
7、 /etc/init.d/mysql start
OK,到此就已经成功转移了mysql数据目录。
为了测试,我们登入mysql,然后创建一个数据库newdb,再看一下/usr/data/mysql_data目录,发现多了一个newdb目录,说明数据目录已经成功转移到新目录下了。
结果连进mysql,创建数据库报错,问题接踵而来
突然就不能创建库和表了,错误信息如下:
mysql> create database newdb1;
ERROR 1006 (HY000): Can't create database 'newdb1' (errno: 13)
放到google搜索和查看文档发现原来权限不足:
查看原先的mysql默认目录/var/lib/mysql
drwxr-xr-x 8 mysql mysql 4096 Nov 20 09:44 mysql/
再看我们刚移入的新目录/usr/data/mysql_data
drwxr-xr-x 8 root root 4096 Nov 22 09:44 mysql_data
仔细一对比,要给新目录赋予权限:chown -R mysql:mysql mysql_data
再查看新目录
drwxr-xr-x 8 mysql mysql 4096 Nov 22 09:44 mysql_data
重新登录mysql进去可以创建,并且创建的newdb在新目录下!
参考:http://www.douban.com/note/170186265/
http://yoozhu.com/?p=1437
http://xplazy.iteye.com/blog/657456
相关文章推荐
- ubuntu系统下更改mysql数据目录的方法
- linux(ubuntu)系统下MySQL数据库中文乱码和MySQL Query Browser中文乱码解决方法
- ubuntu系统更改网卡mac地址及安装双网卡(双IP)的方法
- ubuntu mysql更改tmp路径的方法
- Ubuntu 12.04和Windows 7双系统安装图解(对xp要做相应方法更改)
- 在Ubuntu或Debian系统的服务器上卸载MySQL的方法
- MySQL在Ubuntu系统的三种自启动方法
- Ubuntu系统下更改root等用户的密码的方法
- 虚拟机安装ubuntu不能更改系统语言为中文解决方法
- MySQL在Ubuntu系统的三种自启动方法
- 在Ubuntu或Debian系统的服务器上卸载MySQL的方法
- ubuntu系统下修改mysql数据目录
- ubuntu系统下修改mysql数据目录
- ubuntu下更改mysql默认编码(字符集)
- Ubuntu系统上安装Nginx服务器的简单方法
- Ubuntu中为Android系统上编写Linux内核驱动程序实现方法
- ubuntu下MySQL修改root密码的多种方法,phpmyadmin空密码无法登陆的解决方法
- linux更改mysql权限之后,mysql无法本地登陆的解决方法
- (转)UBUNTU双系统上重装XP后修复GRUB方法(较全)
- (转)修改Ubuntu10.10启动菜单默认系统方法