MySQL数据库迁移注意点

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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

以前我使用的是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表示递归执行。



本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/816797,如需转载请自行联系原作者


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
1月前
|
存储 运维 关系型数据库
从MySQL到云数据库,数据库迁移真的有必要吗?
本文探讨了企业在业务增长背景下,是否应从 MySQL 迁移至云数据库的决策问题。分析了 MySQL 的优势与瓶颈,对比了云数据库在存储计算分离、自动化运维、多负载支持等方面的优势,并提出判断迁移必要性的五个关键问题及实施路径,帮助企业理性决策并落地迁移方案。
|
3月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
652 1
|
4月前
|
关系型数据库 数据库 RDS
【瑶池数据库训练营及解决方案本周精选(探索PolarDB,参与RDS迁移、连接训练营)】(5.30-6.8)
本周精选聚焦数据库迁移训练营、快速连接云数据库RDS训练营及智能多模态搜索解决方案。为用户提供模拟教程与实战演练,学习RDS MySQL实例连接与数据管理技能,助力企业智能化发展。每周解锁数据库实战新场景,抓紧时间,精彩不容错过!
|
5月前
|
存储 关系型数据库 数据挖掘
【瑶池数据库动手活动及话题本周精选(体验ADB、 SelectDB,参与 RDS 迁移训练营)】(4.21-4.27)
本文为 “瑶池数据库动手活动及话题精选” 系列第一期,聚焦 SelectDB 日志分析、AnalyticDB Zero-ETL 集成、RDS 迁移训练营三大实战,设积分、实物等多重奖励,同步开启话题互动。点击链接参与,每周解锁数据库实战新场景。
|
5月前
|
SQL Oracle 关系型数据库
用 YashanDB Migration Platform,数据库迁移不再是“高风险动作”
数据库迁移一直是企业信息化中的难题,耗时长、风险高。YashanDB Migration Platform(YMP)提供一站式解决方案,涵盖评估、改写、迁移与校验全流程。其核心能力包括SQL自动适配、智能对象迁移、高性能数据通道及数据对比校验,显著降低人力成本与业务风险。适合从Oracle、MySQL等迁移到YashanDB的企业,以及需异构整合或国产化替代的集团、政府和国企项目。YMP不仅是工具,更是推动数据库国产化的关键平台。
|
3月前
|
关系型数据库 MySQL 数据库
MySQL数据库上云迁移
本文介绍了将数据库迁移到RDS for Mysql的两种主要方法:停服迁移和不停服迁移。停服迁移适合可短暂中断服务的场景,通过mysqldump或DTS完成;不停服迁移适用于需保持业务连续性的场景,推荐使用DTS实现结构、全量及增量数据迁移。文中详细列出了每种方法的具体操作步骤,帮助企业根据需求选择合适的迁移方案。
MySQL数据库上云迁移
|
6月前
|
存储 SQL 关系型数据库
【YashanDB知识库】MySQL迁移至崖山char类型数据自动补空格问题
**简介**:在MySQL迁移到崖山环境时,若字段类型为char(2),而应用存储的数据仅为'0'或'1',查询时崖山会自动补空格。原因是mysql的sql_mode可能启用了PAD_CHAR_TO_FULL_LENGTH模式,导致保留CHAR类型尾随空格。解决方法是与应用确认数据需求,可将崖山环境中的char类型改为varchar类型以规避补空格问题,适用于所有版本。
|
6月前
|
安全 关系型数据库 MySQL
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误

推荐镜像

更多