- 浏览: 270430 次
- 性别:
- 来自: 新乡
文章分类
- 全部博客 (227)
- servciemix (10)
- db (18)
- javaTools (4)
- hibernate (31)
- web (3)
- spring (14)
- design pattern (4)
- java security (3)
- portal (1)
- ejb (6)
- session (2)
- java_lang (21)
- jbpm (29)
- struts (7)
- orgRights (2)
- project manager Jira (7)
- 跨库事务 (2)
- mysql (14)
- ubuntu (7)
- osgi (9)
- maven ant make (4)
- 分布式 高并发 高性能 (5)
- virgo-dm_server (0)
- osgi web (3)
- platform (1)
- smooks (1)
- business (1)
- 职场生涯 (14)
- Java编码格式 (2)
- web服务 (1)
- 计算机使用 (1)
- 健康工作生活的保障,工作中务必抛掉的不良心态 (4)
- 电信-网络监控 (1)
- 多线程-multithread (1)
- 海量数据-高性能 (2)
- Mybatis (1)
- web开发平台研发 (0)
- oracle (0)
- 应用服务器调优 (0)
- web前端 (0)
- servlet-jsp (0)
- tomcat (2)
- newtouch (1)
- portal_liferay (2)
- version control (1)
- apm-impact (2)
- tools (1)
- 研发管理 (1)
- 电商业务 (1)
- 生鲜电商市场调查 (0)
- PBX (0)
- 房东 (0)
最新评论
-
lifuchao:
...
权限问题 -
Branding:
谢谢,受教了,另外,CONN AS SYSDBA,必须是在操作 ...
Oracle密码忘记了怎么办? -
zhuchao_ko:
...
Portal实现原理 -
败类斯文:
不知道改哪里。。。木有见到红色。。表示悟性低了、、
jira error: Neither the JAVA_HOME nor the JRE_HOME environment variable is defin -
c__06:
正文:假如事务我是这样定义的: <tx:method n ...
Spring中Transactional配置
Ubuntu 10.04下修改MySQL的datadir的问题
2011-09-08 14:21:59 我来说两句 0
我要投稿 [字体:小 大]
由于服务器空间告紧,需要将Ubuntu 10.04下mysql的datadir从默认的/var/lib/mysql移到/usr/local/mysql下,操作如下:
1.修改了/etc/mysql/my.cnf,改为:datadir = /usr/local/mysql
2.cp -a /var/lib/mysql /usr/local/
3./etc/init.d/mysql start
问题出现了,系统报错了,无法启动mysql,日志显示为:Can't find file: "./mysql/plugin.frm'(errno:13)
[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
但是执行mysql_upgrade时,同样报错。
在网上google一圈后,没有找到解决办法。
忽然想起,之前在调试mail server时,修改系统默认存储目录,需要修改系统的chroot参数,于是决定试下,后面事实证明就是这个原因。这里把相关步骤记录下,以备需要的朋友共享之。
修改系统的chroot,需要修改/etc/apparmor.d下的相关文件,这里以mysql为例,需要修改:usr.sbin.mysqld和abstractions/mysql两个文件。
1.修改usr.sbin.mysqld里面的两行内容:/var/lib/mysql/ r,改为:/usr/local/mysql/ r,/var/lib/mysql/** rwk,改为:/usr/local/mysql/** rwk,
2.修改abstractions/mysql中一行:/var/lib/mysql/mysql.sock rw,改为:/usr/local/mysql/mysql.sock rw,
3.重新加载apparmor服务:/etc/init.d/apparmor reload
这时再启动mysql就成功了!
启示:不只是mysql,如果需要修改其他一些系统自带软件的存储目录,改了配置之后,仍然报错的话,则可能需要修改相应chroot才行!请参照上面的方法!
关键就下面几点:
1. 找到 mysql 启动时加载的 Option File(如果有多个,那么一定是起作用的那一个)。在我的机器上只有一个,是 "/etc/mysql/my.cnf",进去把 datadir 一项的值改成自己指定的目录。这个不难。
2. 最关键的,把原先的数据目录(默认是 "/var/lib/mysql")里面的东西都转移到新的目录下,而且 !一定! 要保证相关的内容在新的目录下仍然保持跟原来一样的用户和权限设置。用 chown 和 chmod 就能搞定,很简单。但是如果这步出了差错,找起来就麻烦了,重新启动 mysql 的时候只会说连不上,很难发现真正的原因。我是通过 Ubuntu 下的 Package Manager 安装的 MySQL,安装之后相关文件和目录的 user name 和 group name 都是 “mysql”,所以新的 datadir 也要将 owner 设成 mysql,并确保它有合适的权限。
3. 不仅要保证 datadir 的用户/权限设置正确,如果 datadir 目录比较深的话,好像跟上面几级目录的权限也有关系。总之,要保证用户 “mysql” 能顺利地访问新的 datadir 的内容,而且要保证所有必要的内容都已被复制到新的 datadir 下面。在 MySQL 里面,像用户记录这种启动时必需的信息也是以数据库形式保存的,mysql 在启动时会加载这些必需的 database,如果相关目录的权限有问题,或者文件根本不存在,都会启动失败。
4. 关于 AppArmor,网上资料说需要把所做的改动通过 profile 文件告诉它,否则 AppArmor 会阻止 mysql 访问新的文件路径而导致 mysql 不能运行。以我的经验来看,好像没感觉到 AppArmor 的影响。不过保险起见,还是按照网上说的,修改一下它的 profile 文件,在我的机器上是: "/etc/apparmor.d/usr.sbin.mysqld",照着原先 datadir 有关内容的格式,新加几行:
/my/new/datadir/ r,
/my/new/datadir/** rwk,
5. AppArmor 和 mysql 都需要重启。重启的命令是:
sudo /etc/init.d/{apparmor|mysql} stop
sudo /etc/init.d/{apparmor|mysql} start
或者用 service 命令也可以:
sudo service {apparmor|mysql} stop
sudo service {apparmor|mysql} start
---- TroubleShooting:
mysql 的 Error log 文件,在我的机器上是: "/var/log/mysql/error.log",如果出了问题,这里记录的是真正的原因。对于终端里的几行输出不用太在意,基本上无论出什么事都只会说连不上Server,没什么用。
2011-09-08 14:21:59 我来说两句 0
我要投稿 [字体:小 大]
由于服务器空间告紧,需要将Ubuntu 10.04下mysql的datadir从默认的/var/lib/mysql移到/usr/local/mysql下,操作如下:
1.修改了/etc/mysql/my.cnf,改为:datadir = /usr/local/mysql
2.cp -a /var/lib/mysql /usr/local/
3./etc/init.d/mysql start
问题出现了,系统报错了,无法启动mysql,日志显示为:Can't find file: "./mysql/plugin.frm'(errno:13)
[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
但是执行mysql_upgrade时,同样报错。
在网上google一圈后,没有找到解决办法。
忽然想起,之前在调试mail server时,修改系统默认存储目录,需要修改系统的chroot参数,于是决定试下,后面事实证明就是这个原因。这里把相关步骤记录下,以备需要的朋友共享之。
修改系统的chroot,需要修改/etc/apparmor.d下的相关文件,这里以mysql为例,需要修改:usr.sbin.mysqld和abstractions/mysql两个文件。
1.修改usr.sbin.mysqld里面的两行内容:/var/lib/mysql/ r,改为:/usr/local/mysql/ r,/var/lib/mysql/** rwk,改为:/usr/local/mysql/** rwk,
2.修改abstractions/mysql中一行:/var/lib/mysql/mysql.sock rw,改为:/usr/local/mysql/mysql.sock rw,
3.重新加载apparmor服务:/etc/init.d/apparmor reload
这时再启动mysql就成功了!
启示:不只是mysql,如果需要修改其他一些系统自带软件的存储目录,改了配置之后,仍然报错的话,则可能需要修改相应chroot才行!请参照上面的方法!
关键就下面几点:
1. 找到 mysql 启动时加载的 Option File(如果有多个,那么一定是起作用的那一个)。在我的机器上只有一个,是 "/etc/mysql/my.cnf",进去把 datadir 一项的值改成自己指定的目录。这个不难。
2. 最关键的,把原先的数据目录(默认是 "/var/lib/mysql")里面的东西都转移到新的目录下,而且 !一定! 要保证相关的内容在新的目录下仍然保持跟原来一样的用户和权限设置。用 chown 和 chmod 就能搞定,很简单。但是如果这步出了差错,找起来就麻烦了,重新启动 mysql 的时候只会说连不上,很难发现真正的原因。我是通过 Ubuntu 下的 Package Manager 安装的 MySQL,安装之后相关文件和目录的 user name 和 group name 都是 “mysql”,所以新的 datadir 也要将 owner 设成 mysql,并确保它有合适的权限。
3. 不仅要保证 datadir 的用户/权限设置正确,如果 datadir 目录比较深的话,好像跟上面几级目录的权限也有关系。总之,要保证用户 “mysql” 能顺利地访问新的 datadir 的内容,而且要保证所有必要的内容都已被复制到新的 datadir 下面。在 MySQL 里面,像用户记录这种启动时必需的信息也是以数据库形式保存的,mysql 在启动时会加载这些必需的 database,如果相关目录的权限有问题,或者文件根本不存在,都会启动失败。
4. 关于 AppArmor,网上资料说需要把所做的改动通过 profile 文件告诉它,否则 AppArmor 会阻止 mysql 访问新的文件路径而导致 mysql 不能运行。以我的经验来看,好像没感觉到 AppArmor 的影响。不过保险起见,还是按照网上说的,修改一下它的 profile 文件,在我的机器上是: "/etc/apparmor.d/usr.sbin.mysqld",照着原先 datadir 有关内容的格式,新加几行:
/my/new/datadir/ r,
/my/new/datadir/** rwk,
5. AppArmor 和 mysql 都需要重启。重启的命令是:
sudo /etc/init.d/{apparmor|mysql} stop
sudo /etc/init.d/{apparmor|mysql} start
或者用 service 命令也可以:
sudo service {apparmor|mysql} stop
sudo service {apparmor|mysql} start
---- TroubleShooting:
mysql 的 Error log 文件,在我的机器上是: "/var/log/mysql/error.log",如果出了问题,这里记录的是真正的原因。对于终端里的几行输出不用太在意,基本上无论出什么事都只会说连不上Server,没什么用。
发表评论
-
CentOS 6.3 x64 安装 mysql-5.5.27.tar.gz
2013-12-27 18:00 1569CentOS 6.3 x64 安装 mysql-5.5.27. ... -
Linux中配置MySQL随系统的自动启动和关闭
2011-10-25 18:28 1067Linux中配置MySQL和tomcat随系统的自动启动和关闭 ... -
/etc/mysql/my.cnf
2011-10-24 13:30 1183# # The MySQL database server c ... -
usr.sbin.mysqld
2011-10-24 09:32 1047# vim:syntax=apparmor # Last Mo ... -
在Ubuntu下的MySQL数据库如何更改存储位置
2011-10-23 13:05 10在Ubuntu下的MySQL数据库如何更改存储位置 来源:IT ... -
在Ubuntu下的MySQL数据库如何更改存储位置
2011-10-23 12:33 10在Ubuntu下的MySQL数据库如何更改存储位置 来源:IT ... -
ubuntu linux下配置多个mysql实例 (Larry徐刚原创)
2011-10-22 18:10 3036port ,socket,pid-file,datadir这四 ... -
ubuntu server — 02 Mysql数据转移
2011-10-21 10:58 0ubuntu server — 02 Mysql数据转移 Po ... -
mysql数据文件转移的问题
2011-10-21 10:31 11mysql数据文件转移的问 ... -
ubuntu下,mysql默认数据库存放路径
2011-10-21 10:20 2008ubuntu下,mysql默认数据库存放路径是 /var/li ... -
mysql cluster安装与配置
2011-10-21 10:18 1061mysql cluster安装与配置 201 ... -
Ubuntu 10.04下修改MySQL的datadir的问题
2011-10-21 10:17 8Ubuntu 10.04下修改MySQL的datadi ... -
mysql数据文件转移的问题
2011-10-21 10:16 1400mysql数据文件转移的问 ... -
Mysql具有一次安装可以运行多个实例的功能
2011-10-22 18:11 14Mysql具有一次安装可以运行多个实例的功能 2011-07- ... -
MySQL多实例安装
2011-10-20 20:09 0MySQL多实例安装 [日期:2011-05-06] 来源: ... -
一台服务器上配置多台Mysql实例
2011-10-22 18:11 1177一台服务器上配置多台Mysql实例 2011-07-25 14 ... -
linux下配置多个mysql实例
2011-10-20 19:26 0linux下配置多个mysql实例 2011年09月20日 1 ... -
stop mysql sercice
2011-10-23 10:18 12sudo /etc/init.d/mysql stop -
实现多个MySQL数据库实例管理,用mysqld_multi!
2011-10-22 18:11 12实现多个MySQL数据库实例管理,用mysqld_multi! ... -
mysql多实例配置
2011-10-20 16:13 0mysql多实例配置 2011-09-24 03:44 1. ...
相关推荐
Ubuntu 10.04 LTS,全称Lucid Lynx,是Ubuntu操作系统的一个重要发布版本,于2010年4月29日正式推出。LTS代表“长期支持”(Long Term Support),意味着这个版本将得到更长时间的技术支持,对于个人用户和企业用户...
ubuntu10.04界面汉化安装包,deb格式。由于包的相互依赖,需用如下命令安装: #dpkg -i language-pack-zh-hans_1%3a10.04+20100421_all.deb language-pack-zh-hans-base_1%3a10.04+20100421_all.deb language-pack-...
《Ubuntu 10.04完整版》这本书是针对Ubuntu 10.04 LTS(长期支持版)发行版的一份详尽指南,旨在帮助读者深入理解和熟练掌握这个流行的Linux操作系统。Ubuntu是一款基于Debian的开源操作系统,以其用户友好、易用性...
本文档记录了 Ubuntu 10.04 的安装配置过程,包括硬盘安装、Grub4Dos 安装、menu.lst 文件修改、ubuntu-10.04-alternate-i386.iso 文件复制、安装过程、系统通用配置等。 一、硬盘安装 Ubuntu 10.04 Alternate i386...
标题“Ubuntu10.04”指的是Ubuntu操作系统的一个特定版本,即10.04 LTS(长期支持版),代号为“Lucid Lynx”。Ubuntu是基于Debian GNU/Linux的开源操作系统,以其用户友好的界面和广泛的应用软件库而闻名。LTS版本...
在深入探讨如何安装Ubuntu 10.04的全过程之前,我们先来了解下Ubuntu 10.04以及为何选择在VMware Workstation虚拟机中进行安装。 ### Ubuntu 10.04简介 Ubuntu 10.04 LTS(长期支持版本),代号为“Lucid Lynx”,...
"Ubuntu 10.04 解决声卡驱动问题" 在 Ubuntu 10.04 中,声卡驱动问题是一件非常头疼的事情,特别是在使用 alsamixer 无法解决耳机等声音问题时,如耳机不出声,或是外接音箱无声音等。幸好,有些方法可以解决这个...
Ubuntu 10.04完全版入门教程 包含Ubuntu安装,配置过程,以及shell编程等内容。 分两部分: Ubuntu 10.04完全版first part Ubuntu 10.04完全版second part
### Ubuntu 10.04 下安装 OpenCV 2.2.0 详细步骤 #### 知识点一:Ubuntu 10.04 环境介绍 - **Ubuntu 10.04 LTS**(代号 Lucid Lynx)是 Ubuntu 的一个长期支持版本,发布于2010年4月29日。它提供了大量的软件包,...
【VMware Workstation安装Ubuntu 10.04详细教程】 VMware Workstation是一款流行的虚拟机软件,允许用户在同一台物理计算机上运行多个操作系统。在这个教程中,我们将详细讲解如何在VMware Workstation中安装Ubuntu...
本篇将详细介绍如何使用VM7来安装Ubuntu 10.04 LTS(Lucid Lynx)操作系统。 一、VMware Workstation 7简介 VMware Workstation 7是VMware公司推出的一个版本,支持创建、配置和运行虚拟机。它提供了丰富的功能,如...
在Ubuntu 10.04操作系统...以上就是在Ubuntu 10.04环境下,使用C语言连接MySQL数据库所需了解的关键知识点。确保正确安装相关软件,配置好MySQL服务,并掌握C API的使用方法,以便在C程序中安全有效地与MySQL进行交互。
### Ubuntu 10.04 DSL 上网配置详解 #### 引言 随着Linux操作系统的日益普及,越来越多的用户开始尝试使用Linux系统替代传统的Windows操作系统。对于初学者而言,Linux的强大功能与灵活性往往伴随着较高的学习曲线...
在安装Ubuntu 10.04的过程中,首先要了解如何启动试用环境。通过下载Ubuntu 10.04的ISO镜像文件,你可以选择硬盘安装或制作光盘启动。进入试用的Live CD桌面后,如果打算进行硬盘安装,可以在终端中使用`sudo umount...
Ubuntu 10.04 LTS,全称Ubuntu 10.04 Long Term Support,是Ubuntu操作系统家族中的一个长期支持版本,发布于2010年。该版本在发布后5年内都得到了官方的安全更新及技术支持,对于企业用户和需要长期稳定运行环境的...
Ubuntu 10.04 安装配置指南 本文档提供了一个详细的 Ubuntu 10.04 安装配置指南,涵盖了从准备安装到配置输入法的所有步骤。首先,用户需要下载 Ubuntu 光盘镜像文件,并校验其 MD5 值,然后备份数据,最后可以选择...
官方的chrome 只支持12.04以上的版本,由于所需的库不同 ubuntu 10.04 只能用之前的版本
"Ubuntu 10.04 软件安装指南" 从标题和描述中,我们可以了解到这篇文章的主要内容是关于 Ubuntu 10.04 的软件安装和基本配置的指南。从标签中,我们可以看到这是一个文档类型的资源。 从部分内容中,我们可以看到...
4月29日最新发布的Ubuntu10.04正式版,是有一个LTS长期支持的版本。