+ -
当前位置:首页 → 问答吧 → ubuntu10.04安装oracle11g失败

ubuntu10.04安装oracle11g失败

时间:2008-12-05

来源:互联网

在ubuntu下使用新立得安装完mysql后,默认的数据库目录在/var/lib/mysql。我想把他放到/home/data文件夹下。
于是我把/var/lib/mysql下的文件全部复制到了/home/data文件夹下,并且修改了/etc/mysql/my.cnf文件中datadir的设置。
但是数据库却不能启动了。数据库的启动程序是自动作为服务安装的。

请教,如何修改mysql的数据库目录为自己定义的目录?

作者: 百草谷居士   发布时间: 2008-12-05

数据库不能启动了,有什么错误提供吗

我估计/var/lib/mysql的权限都是mysql的,/home/data的权限可能需要改一下

作者: be00   发布时间: 2008-12-05

权限已经改过了,另外按照mysql文档中的说明运行了mysql_install_db出现错误。

作者: 百草谷居士   发布时间: 2008-12-06

连使用符号连接的方法都不行,真是服了。

作者: 百草谷居士   发布时间: 2008-12-09

多实验几次,我理想的情况是把win下面的mysql和ubuntu下面的公用一个数据库,折腾了半天都成功,最后只好默认/var/lib/了

作者: be00   发布时间: 2008-12-09

http://hi.baidu.com/weiqi228/blog/item/ ... 2bb32.html
我在这里找到了一篇文章,终于解决了这个问题
引用:
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数据库文件存储目录正确。

其中在修改了/etc/apparmor.d/usr.sbin.mysqld文件后要使用sudo /etc/init.d/apparmor restart重新启动这个进程。
据说这个是在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)'

作者: 百草谷居士   发布时间: 2008-12-09

进入mysql时必须使用-p参数,不指定参数就直接退出,这样正常吗?
另外使用root用户可以建立数据库,但是使用自己添加的用户不能创建数据库,问题错在哪里呢?

作者: 百草谷居士   发布时间: 2008-12-10

第7个的意思,可以参考mysql的启动文件 /etc/init.d/mysql

不错,还真被你找到了,我也有空实验一下。

作者: be00   发布时间: 2008-12-10

呵呵,多谢分享,我实现把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


代码:
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)

作者: be00   发布时间: 2008-12-10

是不是mysql中建立数据库必须使用root权限?

作者: 百草谷居士   发布时间: 2008-12-12

收藏了……谢谢LZ

作者: mymathersname   发布时间: 2008-12-24

试过了,好像有点难

作者: jakeycis   发布时间: 2008-12-25

作者: yoyu007   发布时间: 2009-01-02

还是不太明白

作者: Liver   发布时间: 2009-01-27

百草谷居士 写道:
http://hi.baidu.com/weiqi228/blog/item/e1acd303559fb3703912bb32.html
我在这里找到了一篇文章,终于解决了这个问题
引用:
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数据库文件存储目录正确。

其中在修改了/etc/apparmor.d/usr.sbin.mysqld文件后要使用sudo /etc/init.d/apparmor restart重新启动这个进程。
据说这个是在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)'


上面的出错信息可以通过下面改掉,但是改了以后,start MySql就会失败,郁闷
http://ubuntuforums.org/showthread.php?t=112505

作者: lida2003   发布时间: 2009-03-08

相关阅读 更多

热门下载

更多