MySQL数据库迁移注意点

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://dgd2010.blog.51cto.com/1539422/816797

——废话先不罗嗦了,就让这篇草草完成的博客文章全且当做个记录吧。

以前我使用的是CentOS上的MySQL,后来因为测试需要,需要将网站以及在数据库存储的数据迁移到新的系统中进行测试,目标系统为RedHat Enterprise Linux Server(RHEL)。

由于以前从来没有迁移过数据库,因此马上就遇到了难题。

还有其他问题没有列出,仅仅就权限的问题在下面的命令以及执行结果中展示。

注:部分显示被屏蔽。

 
 
  1. Sun 25 Mar 2012 05:07:30 PM CST  
  2. 在迁移MySQL时出现的错误/usr/bin/mysqlshow: Cannot list tables in ********: Can't read dir of './********/' (errno: 13)  
  3. Google关键词:mysql errno: 13  
  4. 解决方案:MySQL数据库的子数据库必须是mysql用户和mysql组所有,否则mysql无法读取迁移过来的数据库。 
  5. [root@localhost mysql]# ls -al 
  6. total
  7. drwxr-xr-x.  7 root root     4096 Mar 24 02:44 . 
  8. drwxr-xr-x. 48 root root     4096 Mar 24 02:45 .. 
  9. -rw-r-----.  1 root root 27262976 Mar 24 02:44 ibdata1 
  10. -rw-r-----.  1 root root  5242880 Mar 24 02:44 ib_logfile0 
  11. -rw-r-----.  1 root root  5242880 Mar 24 02:44 ib_logfile1 
  12. drwx------.  2 root root     4096 Mar 24 02:44 ********
  13. drwx------.  2 root root     4096 Mar 24 02:44 mysql 
  14. drwx------.  2 root root     4096 Mar 24 02:44 performance_schema 
  15. drwx------.  2 root root     4096 Mar 24 02:44 ********
  16. drwx------.  2 root root     4096 Mar 24 02:44 ********
  17. [root@localhost mysql]# ls /var/lib/mysql/ -al 
  18. total
  19. drwxr-xr-x.  5 mysql mysql     4096 Mar 25 16:33 . 
  20. drwxr-xr-x. 54 root  root      4096 Mar 24 04:27 .. 
  21. -rw-rw----.  1 mysql mysql 10485760 Mar 25 16:23 ibdata1 
  22. -rw-rw----.  1 mysql mysql  5242880 Mar 25 16:23 ib_logfile0 
  23. -rw-rw----.  1 mysql mysql  5242880 Mar 25 16:23 ib_logfile1 
  24. drwx------.  2 root  root      4096 Mar 25 16:33 ********
  25. drwx------.  2 mysql mysql     4096 Mar 25 16:23 mysql 
  26. srwxrwxrwx.  1 mysql mysql        0 Mar 25 16:23 mysql.sock 
  27. drwx------.  2 root  root      4096 Mar 25 16:33 ********
  28. [root@localhost mysql]# chown -R mysql:mysql ./********/
  29. [root@localhost mysql]# chown -R mysql:mysql ./********/ 
  30. [root@localhost mysql]# service mysqld restart 
  31. Stopping mysqld:                                           [  OK  ] 
  32. Starting mysqld:                                           [  OK  ] 
  33. [root@localhost mysql]# ls -al 
  34. total
  35. drwxr-xr-x.  7 root  root      4096 Mar 24 02:44 . 
  36. drwxr-xr-x. 48 root  root      4096 Mar 24 02:45 .. 
  37. -rw-r-----.  1 root  root  27262976 Mar 24 02:44 ibdata1 
  38. -rw-r-----.  1 root  root   5242880 Mar 24 02:44 ib_logfile0 
  39. -rw-r-----.  1 root  root   5242880 Mar 24 02:44 ib_logfile1 
  40. drwx------.  2 mysql mysql     4096 Mar 24 02:44 ********
  41. drwx------.  2 root  root      4096 Mar 24 02:44 mysql 
  42. drwx------.  2 root  root      4096 Mar 24 02:44 performance_schema 
  43. drwx------.  2 root  root      4096 Mar 24 02:44 ********
  44. drwx------.  2 mysql mysql     4096 Mar 24 02:44 ********
  45. [root@localhost mysql]# cd /var/lib/mysql/ 
  46. [root@localhost mysql]# ls -al 
  47. total 
  48. drwxr-xr-x.  5 mysql mysql     4096 Mar 25 17:12 . 
  49. drwxr-xr-x. 54 root  root      4096 Mar 24 04:27 .. 
  50. -rw-rw----.  1 mysql mysql 10485760 Mar 25 17:11 ibdata1 
  51. -rw-rw----.  1 mysql mysql  5242880 Mar 25 17:12 ib_logfile0 
  52. -rw-rw----.  1 mysql mysql  5242880 Mar 25 16:23 ib_logfile1 
  53. drwx------.  2 root  root      4096 Mar 25 16:33 ********
  54. drwx------.  2 mysql mysql     4096 Mar 25 16:23 mysql 
  55. srwxrwxrwx.  1 mysql mysql        0 Mar 25 17:12 mysql.sock 
  56. drwx------.  2 root  root      4096 Mar 25 16:33 ********
  57. [root@localhost mysql]# chown -R mysql:mysql ./********/ 
  58. [root@localhost mysql]# chown -R mysql:mysql ./********/ 
  59. [root@localhost mysql]# ls -al 
  60. total
  61. drwxr-xr-x.  5 mysql mysql     4096 Mar 25 17:12 . 
  62. drwxr-xr-x. 54 root  root      4096 Mar 24 04:27 .. 
  63. -rw-rw----.  1 mysql mysql 10485760 Mar 25 17:11 ibdata1 
  64. -rw-rw----.  1 mysql mysql  5242880 Mar 25 17:12 ib_logfile0 
  65. -rw-rw----.  1 mysql mysql  5242880 Mar 25 16:23 ib_logfile1 
  66. drwx------.  2 mysql mysql     4096 Mar 25 16:33 ********
  67. drwx------.  2 mysql mysql     4096 Mar 25 16:23 mysql 
  68. srwxrwxrwx.  1 mysql mysql        0 Mar 25 17:12 mysql.sock 
  69. drwx------.  2 mysql mysql     4096 Mar 25 16:33 ********
  70. [root@localhost mysql]# service mysqld restart 
  71. Stopping mysqld:                                           [  OK  ] 
  72. Starting mysqld:                                           [  OK  ] 
  73. [root@localhost mysql]#  

其实说的白了,就是需要注意权限指派。因为MySQL的数据库必须由mysql创建和拥有。因为一般来说,迁移过来的都是只具有root的权限——664。所以只有使用chown命令了。

附录:

chown的用法:

chown -R 用户名:用户组 目标文件或目录

其中R表示递归执行。

本文出自 “通信,我的最爱” 博客,请务必保留此出处http://dgd2010.blog.51cto.com/1539422/816797

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
SQL Oracle 关系型数据库
担心YashanDB异构数据库迁移踩“坑”?听听大咖们怎么说
文章围绕异构数据库迁移展开,探讨了避免数据丢失、保障数据完整性、注意兼容性、提升迁移效率、做好反向演练等问题。包括迁移前完整性检查与备份,YashanDB 从内核设计和配套工具保障数据,对兼容性进行大量测试,通过合理评估和技术手段提升迁移效率,以及处理回退等内容。
|
6天前
|
SQL Oracle 关系型数据库
迁移方案详解 | 使用YMP从异构数据库迁移到YashanDB
迁移方案详解 | 使用YMP从异构数据库迁移到YashanDB
|
3天前
|
Oracle 关系型数据库 网络安全
崖山异构数据库迁移利器YMP初体验-Oracle迁移YashanDB
文章是作者小草对崖山异构数据库迁移利器 YMP 的初体验分享,包括背景、YMP 简介、体验环境说明、YMP 部署(含安装前准备、安装、卸载、启动与停止)、数据迁移及遇到的问题与解决过程。重点介绍了 YMP 功能、部署的诸多细节和数据迁移流程,还提到了安装和迁移中遇到的问题及解决办法。
|
3天前
|
Oracle 关系型数据库 MySQL
使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试
这篇文章是作者尚雷关于使用崖山YMP迁移Oracle/MySQL至YashanDB 23.2的验证测试分享。介绍了YMP的产品信息,包括架构、版本支持等,还详细阐述了外置库部署、YMP部署、访问YMP、数据源管理、任务管理(创建任务、迁移配置、离线迁移、校验初始化、一致性校验)及MySQL迁移的全过程。
|
3天前
|
SQL 关系型数据库 MySQL
MySQL生产环境迁移至YashanDB数据库深度体验
这篇文章是作者将 MySQL 生产环境迁移至 YashanDB 数据库的深度体验。介绍了 YashanDB 迁移平台 YMP 的产品相关信息、安装步骤、迁移中遇到的各种兼容问题及解决方案,最后总结了迁移体验,包括工具部署和操作特点,也指出功能有优化空间及暂不支持的部分,期待其不断优化。
|
17天前
|
SQL 数据建模 BI
【YashanDB 知识库】用 yasldr 配置 Bulkload 模式作单线程迁移 300G 的业务数据到分布式数据库,迁移任务频繁出错
问题描述 详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237 影响范围: 离线数据迁移场景,影响业务数据入库。 外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。 操作系统环境配置: 125G 内存 32C CPU 2T 的 HDD 磁盘 问题出现的步骤/操作: 1、部署崖山分布式数据库 1mm 1cn 3dn 单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式 2、观察 yasldr.log 是否出现如下错
|
1月前
|
存储 NoSQL MongoDB
数据库数据恢复—MongoDB数据库迁移过程中丢失文件的数据恢复案例
某单位一台MongoDB数据库由于业务需求进行了数据迁移,数据库迁移后提示:“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
21天前
|
存储 SQL 关系型数据库
【YashanDB 知识库】MySQL 迁移至崖山 char 类型数据自动补空格问题
问题分类】功能使用 【关键字】char,char(1) 【问题描述】MySQL 迁移至崖山环境,字段类型源端和目标端都为 char(2),但应用存储的数据为'0'、'1',此时崖山查询该表字段时会自动补充空格 【问题原因分析】mysql 有 sql_mode 控制,检查是否启用了 PAD_CHAR_TO_FULL_LENGTH SQL 模式。如果启用了这个模式,MySQL 才会保留 CHAR 类型字段的尾随空格,默认没有启动。 #查看sql_mode mysql> SHOW VARIABLES LIKE 'sql_mode'; 【解决/规避方法】与应用确认存储的数据,正确定义数据
|
2月前
|
运维 关系型数据库 MySQL
体验领礼啦!体验自建数据库迁移到阿里云数据库RDS,领取桌面置物架!
「技术解决方案【Cloud Up 挑战赛】」上线!本方案介绍如何将自建数据库平滑迁移至云数据库RDS,解决业务增长带来的运维难题。通过使用RDS MySQL,您可获得稳定、可靠和安全的企业级数据库服务,专注于核心业务发展。完成任务即可领取桌面置物架,每个工作日限量50个,先到先得。
|
3月前
|
弹性计算 关系型数据库 数据库
自建数据库迁移到云数据库实操
本课程详细介绍了自建数据库迁移到阿里云RDS的实操步骤。主要内容包括:创建实例资源、安全设置、配置自建的MySQL数据库、数据库的迁移、从自建数据库切换到RDS以及清理资源。通过这些步骤,学员可以掌握如何将自建数据库安全、高效地迁移到云端,并确保应用的正常运行。
204 26