如何配置mysql的数据库目录
- 百草谷居士
- 帖子: 4012
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
如何配置mysql的数据库目录
在ubuntu下使用新立得安装完mysql后,默认的数据库目录在/var/lib/mysql。我想把他放到/home/data文件夹下。
于是我把/var/lib/mysql下的文件全部复制到了/home/data文件夹下,并且修改了/etc/mysql/my.cnf文件中datadir的设置。
但是数据库却不能启动了。数据库的启动程序是自动作为服务安装的。
请教,如何修改mysql的数据库目录为自己定义的目录?
于是我把/var/lib/mysql下的文件全部复制到了/home/data文件夹下,并且修改了/etc/mysql/my.cnf文件中datadir的设置。
但是数据库却不能启动了。数据库的启动程序是自动作为服务安装的。
请教,如何修改mysql的数据库目录为自己定义的目录?
Mint 22 / Xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
- be00
- 帖子: 805
- 注册时间: 2008-07-28 19:51
- 来自: 长沙
- 联系:
Re: 如何配置mysql的数据库目录
数据库不能启动了,有什么错误提供吗
我估计/var/lib/mysql的权限都是mysql的,/home/data的权限可能需要改一下
我估计/var/lib/mysql的权限都是mysql的,/home/data的权限可能需要改一下
- 百草谷居士
- 帖子: 4012
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
Re: 如何配置mysql的数据库目录
权限已经改过了,另外按照mysql文档中的说明运行了mysql_install_db出现错误。
Mint 22 / Xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
- 百草谷居士
- 帖子: 4012
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
Re: 如何配置mysql的数据库目录
连使用符号连接的方法都不行,真是服了。




Mint 22 / Xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
- be00
- 帖子: 805
- 注册时间: 2008-07-28 19:51
- 来自: 长沙
- 联系:
Re: 如何配置mysql的数据库目录
多实验几次,我理想的情况是把win下面的mysql和ubuntu下面的公用一个数据库,折腾了半天都成功,最后只好默认/var/lib/了
- 百草谷居士
- 帖子: 4012
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
Re: 如何配置mysql的数据库目录
http://hi.baidu.com/weiqi228/blog/item/ ... 2bb32.html
我在这里找到了一篇文章,终于解决了这个问题
据说这个是在ubuntu中特有的安全机制,有知道的朋友可以给讲一下apparmor的作用。其实一直不成功关键就是这里了。
另外,文中第7步不晓得究竟是什么意思?
不过在重新启动mysql的时候还是有一个错误出现:
我在这里找到了一篇文章,终于解决了这个问题

其中在修改了/etc/apparmor.d/usr.sbin.mysqld文件后要使用sudo /etc/init.d/apparmor restart重新启动这个进程。ubuntu8.10下修改mysql数据库存储位置
2008-11-10 12:39
1、关掉数据库 sudo /etc/init.d/mysql stop
2、假设我们指定的数据库文件目录为/db
创建目录 /db,并修改其拥有者及所属群组为mysql:mysql.命令:chown mysql:mysql db
修改mysql配置文件my.cnf:将datadir=/var/lib/mysql改为datadir=/db
3、修改ubuntu中的安全设置
sudo gedit /etc/apparmor.d/usr.sbin.mysqld 在这个文件里面加入权限设定,将原来的
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
更换成
/db/mysql/ r,
/db/mysql/** rwk,
4、重新初始化数据文件:执行sudo mysql_install_db
5、启动mysql数据库服务:sudo /etc/init.d/mysql start
6、设置mysql数据库root密码:mysqladmin -u root password ‘new-password’
7、在/etc/mysql/debian.cnf中找到你的debian-sys-maint用户密码,在mysql中重新建立这个用户.
此时我们会发现/db目录下出现mysql相关文件。如果我们新建数据库,其数据库文件也将出现在db目录下。表示我们修改的mysql数据库文件存储目录正确。
据说这个是在ubuntu中特有的安全机制,有知道的朋友可以给讲一下apparmor的作用。其实一直不成功关键就是这里了。
另外,文中第7步不晓得究竟是什么意思?
不过在重新启动mysql的时候还是有一个错误出现:
~$ sudo /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [fail]
* Starting MySQL database server mysqld [ OK ]
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
Mint 22 / Xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
- 百草谷居士
- 帖子: 4012
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
Re: 如何配置mysql的数据库目录
进入mysql时必须使用-p参数,不指定参数就直接退出,这样正常吗?
另外使用root用户可以建立数据库,但是使用自己添加的用户不能创建数据库,问题错在哪里呢?
另外使用root用户可以建立数据库,但是使用自己添加的用户不能创建数据库,问题错在哪里呢?
Mint 22 / Xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
- be00
- 帖子: 805
- 注册时间: 2008-07-28 19:51
- 来自: 长沙
- 联系:
Re: 如何配置mysql的数据库目录
第7个的意思,可以参考mysql的启动文件 /etc/init.d/mysql
不错,还真被你找到了,我也有空实验一下。

- be00
- 帖子: 805
- 注册时间: 2008-07-28 19:51
- 来自: 长沙
- 联系:
Re: 如何配置mysql的数据库目录
呵呵,多谢分享,我实现把mysql的数据文件折腾到win下面去了
其中/etc/apparmor.d/usr.sbin.mysqld做了对应的修改:
# /var/lib/mysql/ r,
# /var/lib/mysql/** rwk,
/media/Soft/program/mysql-5.0.51b-win32/data/ r,
/media/Soft/program/mysql-5.0.51b-win32/data/** rwk,
/etc/mysql/my.cnf也做了对应的修改
#datadir = /var/lib/mysql
datadir = /media/Soft/program/mysql-5.0.51b-win32/data
其中/etc/apparmor.d/usr.sbin.mysqld做了对应的修改:
# /var/lib/mysql/ r,
# /var/lib/mysql/** rwk,
/media/Soft/program/mysql-5.0.51b-win32/data/ r,
/media/Soft/program/mysql-5.0.51b-win32/data/** rwk,
/etc/mysql/my.cnf也做了对应的修改
#datadir = /var/lib/mysql
datadir = /media/Soft/program/mysql-5.0.51b-win32/data
代码: 全选
zhanggang@T60:/media/Soft/program/mysql-5.0.51b-win32$ sudo cp -R /var/lib/mysql data
zhanggang@T60:/media/Soft/program/mysql-5.0.51b-win32/data$ sudo /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [ OK ]
* Checking for corrupt, not cleanly closed and upgrade needing tables.
zhanggang@T60:/media/Soft/program/mysql-5.0.51b-win32/data$ mysql -u test -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 420
Server version: 5.0.67-0ubuntu6-log (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
2 rows in set (0.00 sec)
- 百草谷居士
- 帖子: 4012
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
Re: 如何配置mysql的数据库目录
是不是mysql中建立数据库必须使用root权限?
Mint 22 / Xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
- mymathersname
- 帖子: 2870
- 注册时间: 2008-09-18 23:40
- 系统: Ubuntu 15.04 x64
- 来自: Mars
Re: 如何配置mysql的数据库目录
收藏了……谢谢LZ
转移各位校内,百毒朋友,把目标转向twitter和facebook,别总看局域网的内容
其实从那么多的ubuntu发行版和fedora的各个发行版中,我们不难看出,linux的进步是惊人的,从长久的发展规律和更加深远的意义来看,linux桌面版与微软的距离在缩小,这是值得庆幸的……
ubuntu是半年还去偷情一次的初恋。fedora是一生挚爱的正室。debian是和正室同等地位的妾侍。rh/cent是用来偷窥的正室大姐姐。suse是一夜夫妻百二蚊。gentoo是有内涵的才女。arch是久闻其名不敢接触的怪叔叔。其余发行版,我是帝皇它们是屁民,无福宠幸。
其实从那么多的ubuntu发行版和fedora的各个发行版中,我们不难看出,linux的进步是惊人的,从长久的发展规律和更加深远的意义来看,linux桌面版与微软的距离在缩小,这是值得庆幸的……
ubuntu是半年还去偷情一次的初恋。fedora是一生挚爱的正室。debian是和正室同等地位的妾侍。rh/cent是用来偷窥的正室大姐姐。suse是一夜夫妻百二蚊。gentoo是有内涵的才女。arch是久闻其名不敢接触的怪叔叔。其余发行版,我是帝皇它们是屁民,无福宠幸。
-
- 帖子: 59
- 注册时间: 2008-12-17 20:52
-
- 帖子: 195
- 注册时间: 2007-09-02 10:08
-
- 帖子: 7
- 注册时间: 2009-01-16 11:39
Re: 如何配置mysql的数据库目录
还是不太明白 

-
- 帖子: 232
- 注册时间: 2008-11-11 15:54
Re: 如何配置mysql的数据库目录
上面的出错信息可以通过下面改掉,但是改了以后,start MySql就会失败,郁闷百草谷居士 写了:http://hi.baidu.com/weiqi228/blog/item/ ... 2bb32.html
我在这里找到了一篇文章,终于解决了这个问题
其中在修改了/etc/apparmor.d/usr.sbin.mysqld文件后要使用sudo /etc/init.d/apparmor restart重新启动这个进程。ubuntu8.10下修改mysql数据库存储位置
2008-11-10 12:39
1、关掉数据库 sudo /etc/init.d/mysql stop
2、假设我们指定的数据库文件目录为/db
创建目录 /db,并修改其拥有者及所属群组为mysql:mysql.命令:chown mysql:mysql db
修改mysql配置文件my.cnf:将datadir=/var/lib/mysql改为datadir=/db
3、修改ubuntu中的安全设置
sudo gedit /etc/apparmor.d/usr.sbin.mysqld 在这个文件里面加入权限设定,将原来的
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
更换成
/db/mysql/ r,
/db/mysql/** rwk,
4、重新初始化数据文件:执行sudo mysql_install_db
5、启动mysql数据库服务:sudo /etc/init.d/mysql start
6、设置mysql数据库root密码:mysqladmin -u root password ‘new-password’
7、在/etc/mysql/debian.cnf中找到你的debian-sys-maint用户密码,在mysql中重新建立这个用户.
此时我们会发现/db目录下出现mysql相关文件。如果我们新建数据库,其数据库文件也将出现在db目录下。表示我们修改的mysql数据库文件存储目录正确。
据说这个是在ubuntu中特有的安全机制,有知道的朋友可以给讲一下apparmor的作用。其实一直不成功关键就是这里了。
另外,文中第7步不晓得究竟是什么意思?
不过在重新启动mysql的时候还是有一个错误出现:~$ sudo /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [fail]
* Starting MySQL database server mysqld [ OK ]
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
http://ubuntuforums.org/showthread.php?t=112505