大概需要4个步骤,其中第1步通过service mysql stop停止数据库,第4步通过service mysql start启动数据库。

第2步移动数据文件,不知道是否为Ubuntu智能的原因,移动数据库的时候,除了数据文件,连权限也一起带过去了
root@T60:~#mv /var/lib/mysql /home/
我还在记录/var/lib/mysql各目录的权限,当mv完成之后,/home/下面的权限保留原来/var/lib/mysql的各类权限,其中有目录,文件等等,连chown,chmod都给省事了。

本想这样就没事了,执行第4步一直启动不了,看日志文件/var/log/mysql/error.log的结果是

/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)100803

12:36:36 [ERROR] Can't open the mysql.plugin table.

Please run mysql_upgrade to create it.100803 12:36:36

InnoDB: Operating system error number 13 in a file operation.

InnoDB: The error means mysqld does not have the access rights to

InnoDB: the directory.

InnoDB: File name ./ibdata1InnoDB: File operation call: 'open'.

InnoDB: Cannot continue operation.

刚才mv过去的权限都是对的,不存在还有什么权限的问题,到网上搜索大部分都是redhat系列的系统,其中的SElinux对ubuntu不适用,还差点真用chcon来修改所谓的安全之类的权限了

其实,在my.cnf中注释部分说明的很清楚

# * IMPORTANT# If you make changes to these settings and your system uses apparmor, you may# also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.

按照说明进行第3步,注释掉原来的路径,增加新的路径,2行都要修改

root@T60:~# vi /etc/apparmor.d/usr.sbin.mysqld

# /var/lib/mysql/ r,# /var/lib/mysql/** rwk, 改为 /home/mysql/ r, /home/mysql/** rwk,

更新参数

root@T60:~# /etc/init.d/apparmor reload

* Reloading AppArmor profiles Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox [ OK ]

修改完成后执行第4步root@T60:~# service mysql start
可以在日志中看见启动成功
/var/log/mysql/error.log
100803 12:53:07 InnoDB: Started; log sequence number 0 5646278
100803 12:53:07 [Note] Event Scheduler: Loaded 0 events
100803 12:53:07 [Note] /usr/sbin/mysqld: ready for connections.
Version: ’5.1.41-3ubuntu12.4-log’ socket: ‘/var/run/mysqld/mysqld.sock’ port: 3306 (Ubuntu)

转自《http://www.cnblogs.com/tangtianfly/archive/2012/12/28/2837403.html》

Can't find file: './mysql/plugin.frm' (errno: 13)[mysql数据目录迁移错位]错误解决的更多相关文章

  1. 报错:/usr/sbin/mysqld: Can't find file: './performance_schema/events_waits_summary_by_account_by_event_name.frm' (errno: 13 - Permission denied)

    报错背景: Linux环境下安装MySQL数据库. 安装完成,数据库初始化,启动数据库时报错. 报错现象: -- :: [ERROR] Native table 'performance_schema ...

  2. 安装mysql 初始化的时候报错 Can't find file: './mysql/db.frm' (errno: 13) ERROR: 1017

    目录下没有权限 需要权限

  3. MySQL之Field‘***’doesn’t have a default value错误解决办法

    这篇文章主要介绍了MySQL之Field‘***’doesn’t have a default value错误解决办法,需要的朋友可以参考下 今天,中国博客联盟有博友反馈,zgboke.com无法提交 ...

  4. service mysqld start 报错:service mysqld start 报错 090517 13:34:15 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 090Can't open the mysql.plugin table. Please run mysql

    service mysqld start 报错 090517 13:34:15 [ERROR] Can't open the mysql.plugin table. Please run mysql_ ...

  5. Jupyter运行时出现下面的错误:Unexpected error while saving file: arma/Untitled.ipynb [Errno 13] Permission denied:

    运行环境:Ubuntu16.04+Python2.7执行如下代码修改Jupyter的一部分文件的权限(执行完之后重新启动即可): sudo chmod ~/.local/share/jupyter/ ...

  6. mysql 在登陆的时候出现error 1045 (28000): 错误解决办法

    错误显示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案: 1.找到配 ...

  7. 使用mysql连接django时,需要的步骤以及错误解决办法

    django默认使用的sqlite3,更改为SQL时需要按照如下操作进行 1.在settings.py中的78行进行更改 DATABASES = { 'default': { 'ENGINE': 'd ...

  8. Mysql 备份数据库方法及when using LOCK TABLES错误解决方法

    可以将以下代码保存为backup.bat,添加计划任务即可. @echo off ,,%" ,%" "D: -uname -pxxxx -P3306 --skip-loc ...

  9. Can’t find file mysql/host.frm

    安装Mysql后报错: InnoDB: Apply batch completed 141115 15:04:36 InnoDB: Started; log sequence number 0 442 ...

随机推荐

  1. Mac - 更新 Ruby

    因为准备在项目中使用bootstrap,在安装bootstrap过程中提示需要Ruby的版本在1.9.2以上,而目前使用的Ruby版本是Mac系统自带的1.8.7.所以需要对Ruby进行升级.这里使用 ...

  2. Oracle数据库-建库、建表空间,建用户

    Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来说,为了避免麻烦,可以用'Database Configuration Assistan ...

  3. 1030: [JSOI2007]文本生成器 - BZOJ

    Description JSOI交给队员ZYX一个任务,编制一个称之为“文本生成器”的电脑软件:该软件的使用者是一些低幼人群,他们现在使用的是GW文本生成器v6版.该软件可以随机生成一些文章―――总是 ...

  4. 1029: [JSOI2007]建筑抢修 - BZOJ

    Description 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不尽快修 ...

  5. 1023: [SHOI2008]cactus仙人掌图 - BZOJ

    Description如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人图(cactus).所谓简单回路就是指在图上不重复经过任何一个顶点的回路 ...

  6. JAVA面试题:equals()方法和== 区别

    http://bbs.csdn.net/topics/390000725 总结: equals在没重写之前和==一样,重写之后,equals只要内容一样即为true equals跟==一般情况下是等价 ...

  7. 如何在DJANGO里获取?带数据的东东,基于CBV

    用DEF的,有现成的,而用CLASS的,就要作一下变通. 如下: if self.request.GET: if self.request.GET.get('search_pk'): search_p ...

  8. Spring在代码中获取bean的几种方式

    方法一:在初始化时保存ApplicationContext对象 方法二:通过Spring提供的utils类获取ApplicationContext对象 方法三:继承自抽象类ApplicationObj ...

  9. Posix IPC

  10. eclipse中的输入提示怎么设置

    对于大多数的开发人员来说,打代码是一件非常繁琐的事情,eclipse中为我们提供了自动提示的功能,但是默认的提示只有当我们输入小数点后才能出现提示框,那么我们如何设置eclipse,能够让它为我们提示 ...