MySQL服务迁移到opt_mysql文件*.opt *.frm *.MYI *.MYD的迁移

在Ubuntu 11.10上,从机器A迁移MySQL数据库smallone到机器B时遇到权限问题,表现为mysql用户组无法访问tbledge.frm和tbledge.MYI文件。通过ls-la命令确认文件权限属于root用户组。为解决此问题,使用sudo chown和chgrp命令将文件所有权更改为mysql用户组,并验证权限已更改成功。
摘要由CSDN通过智能技术生成

注意:这里使用mysql 5.1,Ubuntu 11.10

在机器A的/var/lib/mysql/文件夹下面有数据库smallone的文件。

现在想把smallone下面对应的*.MYD *.frm  *.MYI直接迁移到机器B的/var/lib/mysql/smallone下面

1,直接在mysql中查看是否迁移成功

在/etc/init.d文件夹下面运行mysql -u root -p

输入密码。

>show databases;

这时可以看到smallone已经有了

>use smallone;

>show tables;

>select * from yourTblName;

这时可以看到如下错误:

ERROR 1017 (HY000): Can't find file: './smallone/tbledge.frm' (errno: 13)

为了解决这个问题,查了很多资料,后来知道是权限问题

ls -la /var/lib/mysql/smallone

果然是权限问题:

drwx------ 2 mysql mysql  4096 2012-04-04 22:10 .

drwx------ 4 mysql mysql  4096 2012-04-04 22:10 ..

-rw-rw---- 1 mysql mysql    65 2012-04-04 22:07 db.opt

-rw------- 1 root  root   8662 2012-04-04 22:09 tbledge.frm

-rw------- 1 root  root  58368 2012-04-04 22:07 tbledge.MYI

tbledge.frm是root用户组的东西!mysql用户组访问不了它!

2,修改.frm .MYI权限

了解了问题的出处之后,就动手解决它:

sudo chown mysql /var/lib/mysql/smallone/tbledge.frm

sudo chown mysql /var/lib/mysql/smallone/tbledge.MYI

sudo chgrp mysql /var/lib/mysql/smallone/tbledge.frm

sudo chgrp mysql /var/lib/mysql/smallone/tbledge.MYI

再来查看,说明权限已经改好了:

drwx------ 2 mysql mysql  4096 2012-04-04 22:10 .

drwx------ 4 mysql mysql  4096 2012-04-04 22:36 ..

-rw-rw---- 1 mysql mysql    65 2012-04-04 22:07 db.opt

-rw------- 1 mysql mysql  8662 2012-04-04 22:09 tbledge.frm

-rw------- 1 mysql mysql 58368 2012-04-04 22:07 tbledge.MYI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值