MySQL数据库迁移注意点
——废话先不罗嗦了,就让这篇草草完成的博客文章全且当做个记录吧。
以前我使用的是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表示递归执行。
转载于:https://blog.51cto.com/dgd2010/816797
MySQL数据库迁移注意点相关推荐
- go mysql slave_【Golang+mysql】记一次mysql数据库迁移(一)
# [记一次mysql数据库迁移(一)](https://github.com/stayfoo/stayfoo-hub/blob/master/docs/mysql/blog/%E8%AE%B0%E4 ...
- mysql 数据迁移_【AWS 功能】Mysql 数据库迁移至Amazon RDS方案
今天,我们讲讲如何使用源MySQL数据库执行数据库迁移到MySQL数据库的目标Amazon RDS的方案,同时由于(源和目标数据库引擎是相同的)--模式结构.数据类型和数据库代码在源和目标数据库之间是 ...
- MySQL数据库迁移
MySQL数据库迁移(数据文件直接迁移) 在今年10月下旬的时候,公司的服务器需要迁移,其中涉及到了MySQL数据库迁移.查看了一下MySQL数据文件的大小,接近60G的大小(实际数据并没用那么多). ...
- mysql数据库迁移方案
怎样用命令行把MySQL数据库迁移到另一台Linux服务器 1.用dump命令备份数据库. #mysqldump-uroot-pdbfile>dbfile.sql 2.用rsync从新服务器获得 ...
- 现MySQL数据库迁移到新MySQL数据库中
场景: 由于更换设备,需要将现mysql数据库迁移到新服务器的mysql数据库中. 迁移命令: 1.在源库mysql执行命令如下,将导出数据到/root/目录下 (1)导出所有数据库的表结构和数据 m ...
- mysql数据库搬家,MySQL数据库迁移上云-数据搬家不用愁
MySQL数据库迁移上云 数据搬"家"不用愁 随着数字化时代的发展,越来越多的企业开始数字化转型.云上数据库能提升对数据库的使用及管理效率,给企业带来了很大经济效益.那么如何安全有 ...
- 服务器Mysql数据库迁移
服务器Mysql数据库迁移 因公司云服务器即将到期并准备更换与平台,所以对云服务器数据库做迁移. 准备工具 Docker Navicat 迁移思路 新旧数据库同步,保证迁移过程中在不影响服务的情况下将 ...
- Mysql数据库迁移Mariadb完整方案
Mysql数据库迁移Mariadb方案 一. 文档描述 l 目的:测试window和linux上MariaDB支持性. l 原则:window下保留原有Mysql ,安装MariaDB ...
- 如何从MySQL数据库迁移数据到OceanBase
今天我们来看一下如何处理MySQL数据库迁移,因为OceanBase基本支持MySQL的语法,所以迁移过程会比较顺滑. 1.在OceanBase中创建一个新租户 首先我们依照OB的逻辑,创建一个新租户 ...
- 如何简单实现mysql数据库迁移
业务场景:需要将服务器A上的mysql数据库迁移到另外一台服务器B. 1. 用ssh终端连接服务器A 2. mysqldump指令将数据库表/数据保存成xx.sql文件存到本地 #导出数据到/root ...
最新文章
- Java编写胖老鼠的交易_猫和胖老鼠
- 绕开bug的feed_dict,用自己的数据集训练DCGAN
- hue sqoop mysql_HUE中Oozie执行Sqoop
- sdwan能取代mpls吗?—Vecloud
- 实践证明m1上面的windows可以说一无是处
- Java中数据类型的取值范围
- java流与文件——正则表达式
- Django中使用ajax技术概述
- p批处理替换目录下文本中的字符串
- SQL Server FILESTREAM数据库损坏和修复
- 【转】Galileo伽利略项目-- 数字城市规划和基础设施建模
- python采用强制自动缩进使代码具有极佳的可读性_Python的详细介绍
- 花生壳 Linux arm
- 阿里代码规范检查工具的安装使用
- 计算机硬件故障有哪些现象,计算机常见硬件故障症状现象分析及解决办法
- 一键生成表白页面,个人网站,在线制作生成网站php源码
- 公司招了个漂亮女程序员是种什么样的体验?
- glTF-Transform处理gltf模型
- android sdk官网帮助文档
- 笔记本在AHCi模式下识别不到硬盘2(涵图片)