MAC 下查看安装版MYSQL安装路径,以及解决直接复制数据文件产生的table is read only的问题。

xu.wang

发布于 2019.08.10 20:43 阅读 4298 评论 0

1. 查看MySQL安装路径以及data文件夹

         在 MAC下安装完MySQL之后,用Navicat打开本地数据库,但是想通过恢复data文件的方式导入数据库,发现找不到MySQL的安装目录和data文件夹的位置。

于是经过搜索之后发现运行下面的语句即可查看MySQL的各种路径:

show variables like "%char%";

2. 找到data路径之后在finder中使用“ shift + command + G ”打开目录

     打开目录之后发现data中的文件夹都是锁定状态:

接下来使用“ sudo chmod -R a+rwx /usr/local/mysql/data  ”来赋予读写权限。

 

3. 找到数据库表(事前已经创建好数据库表)文件夹之后,将之前MySQL中的data中的表文件夹中的内容复制到文件夹中。

4. 打开Navicat 刷新数据库表之后,发现所有表已经复制成功。

5. 运行程序发现出现了一个问题 “table xxx is read only”

这个是什么问题呢? 原来是我们复制到data中的文件的权限与拥有者并非是mysql,所以我们需要将这些文件的权限修改为可读写,

并把文件的拥有者修改为 mysql

1、进入mysql数据库的data目录,使用”sudo chown -R mysql <数据库文件夹名称>” 和 “sudo chgrp -R mysql <数据库文件夹名称>”将文件夹拥有者和所在组改为mysql 
2、使用命令”sudo chmod -R 760 <数据库文件夹名称>” 改变文件夹权限
3、使用命令”mysqladmin -uroot -p reload”重新载入表 
4、使用命令”mysqladmin -uroot -p flush-tables”执行刷新

以上解决通过复制MySQL的data文件夹形式解决数据库备份迁移问题。