以前我使用的是CentOS上的MySQL,后来因为测试需要,需要将网站以及在数据库存储的数据迁移到新的系统中进行测试,目标系统为RedHat Enterprise Linux Server(RHEL)。 由于以前从来没有迁移过数据库,因此马上就遇到了难题。还有其他问题没有列出,仅仅就权限的问题在下面的命令以及执行结果中展示。注:部分显示被屏蔽。
- Sun 25 Mar 2012 05:07:30 PM CST
- 在迁移MySQL时出现的错误/usr/bin/mysqlshow: Cannot list tables in ********: Can"t read dir of "./********/" (errno: 13)
- Google关键词:mysql errno: 13
- 解决方案:MySQL数据库的子数据库必须是mysql用户和mysql组所有,否则mysql无法读取迁移过来的数据库。
- [root@localhost mysql]# ls -al
- total
- drwxr-xr-x. 7 root root 4096 Mar 24 02:44 .
- drwxr-xr-x. 48 root root 4096 Mar 24 02:45 ..
- -rw-r-----. 1 root root 27262976 Mar 24 02:44 ibdata1
- -rw-r-----. 1 root root 5242880 Mar 24 02:44 ib_logfile0
- -rw-r-----. 1 root root 5242880 Mar 24 02:44 ib_logfile1
- drwx------. 2 root root 4096 Mar 24 02:44 ********
- drwx------. 2 root root 4096 Mar 24 02:44 mysql
- drwx------. 2 root root 4096 Mar 24 02:44 performance_schema
- drwx------. 2 root root 4096 Mar 24 02:44 ********
- drwx------. 2 root root 4096 Mar 24 02:44 ********
- [root@localhost mysql]# ls /var/lib/mysql/ -al
- total
- drwxr-xr-x. 5 mysql mysql 4096 Mar 25 16:33 .
- drwxr-xr-x. 54 root root 4096 Mar 24 04:27 ..
- -rw-rw----. 1 mysql mysql 10485760 Mar 25 16:23 ibdata1
- -rw-rw----. 1 mysql mysql 5242880 Mar 25 16:23 ib_logfile0
- -rw-rw----. 1 mysql mysql 5242880 Mar 25 16:23 ib_logfile1
- drwx------. 2 root root 4096 Mar 25 16:33 ********
- drwx------. 2 mysql mysql 4096 Mar 25 16:23 mysql
- srwxrwxrwx. 1 mysql mysql 0 Mar 25 16:23 mysql.sock
- drwx------. 2 root root 4096 Mar 25 16:33 ********
- [root@localhost mysql]# chown -R mysql:mysql ./********/
- [root@localhost mysql]# chown -R mysql:mysql ./********/
- [root@localhost mysql]# service mysqld restart
- Stopping mysqld: [ OK ]
- Starting mysqld: [ OK ]
- [root@localhost mysql]# ls -al
- total
- drwxr-xr-x. 7 root root 4096 Mar 24 02:44 .
- drwxr-xr-x. 48 root root 4096 Mar 24 02:45 ..
- -rw-r-----. 1 root root 27262976 Mar 24 02:44 ibdata1
- -rw-r-----. 1 root root 5242880 Mar 24 02:44 ib_logfile0
- -rw-r-----. 1 root root 5242880 Mar 24 02:44 ib_logfile1
- drwx------. 2 mysql mysql 4096 Mar 24 02:44 ********
- drwx------. 2 root root 4096 Mar 24 02:44 mysql
- drwx------. 2 root root 4096 Mar 24 02:44 performance_schema
- drwx------. 2 root root 4096 Mar 24 02:44 ********
- drwx------. 2 mysql mysql 4096 Mar 24 02:44 ********
- [root@localhost mysql]# cd /var/lib/mysql/
- [root@localhost mysql]# ls -al
- total
- drwxr-xr-x. 5 mysql mysql 4096 Mar 25 17:12 .
- drwxr-xr-x. 54 root root 4096 Mar 24 04:27 ..
- -rw-rw----. 1 mysql mysql 10485760 Mar 25 17:11 ibdata1
- -rw-rw----. 1 mysql mysql 5242880 Mar 25 17:12 ib_logfile0
- -rw-rw----. 1 mysql mysql 5242880 Mar 25 16:23 ib_logfile1
- drwx------. 2 root root 4096 Mar 25 16:33 ********
- drwx------. 2 mysql mysql 4096 Mar 25 16:23 mysql
- srwxrwxrwx. 1 mysql mysql 0 Mar 25 17:12 mysql.sock
- drwx------. 2 root root 4096 Mar 25 16:33 ********
- [root@localhost mysql]# chown -R mysql:mysql ./********/
- [root@localhost mysql]# chown -R mysql:mysql ./********/
- [root@localhost mysql]# ls -al
- total
- drwxr-xr-x. 5 mysql mysql 4096 Mar 25 17:12 .
- drwxr-xr-x. 54 root root 4096 Mar 24 04:27 ..
- -rw-rw----. 1 mysql mysql 10485760 Mar 25 17:11 ibdata1
- -rw-rw----. 1 mysql mysql 5242880 Mar 25 17:12 ib_logfile0
- -rw-rw----. 1 mysql mysql 5242880 Mar 25 16:23 ib_logfile1
- drwx------. 2 mysql mysql 4096 Mar 25 16:33 ********
- drwx------. 2 mysql mysql 4096 Mar 25 16:23 mysql
- srwxrwxrwx. 1 mysql mysql 0 Mar 25 17:12 mysql.sock
- drwx------. 2 mysql mysql 4096 Mar 25 16:33 ********
- [root@localhost mysql]# service mysqld restart
- Stopping mysqld: [ OK ]
- Starting mysqld: [ OK ]
- [root@localhost mysql]#
其实说的白了,就是需要注意权限指派。因为MySQL的数据库必须由mysql创建和拥有。因为一般来说,迁移过来的都是只具有root的权限——664。所以只有使用chown命令了。附录:chown的用法:chown -R 用户名:用户组 目标文件或目录其中R表示递归执行。Oracle--plsql异常处理MySQL主从同步错误解决和Slave_IO_Running: NO相关资讯 MySQL数据库
- MySQL数据库重命名的方法 (06/16/2015 20:17:43)
- 10款最好用的MySQL数据库客户端图 (01/07/2015 15:05:35)
- Linux系统入门学习:命令行创建一 (10/11/2014 07:29:28)
| - MySQL之终端(Terminal)管理数据 (03/02/2015 17:03:41)
- C语言访问MySQL数据库的方法 (11/17/2014 23:10:15)
- 给Linux用户的11个高级MySQL数据库 (08/15/2014 16:41:16)
|
本文评论 查看全部评论 (0)