mysql数据库迁移服务器,迁移包括所有数据库(200个左右)和账户信息(200个左右)。一数据库对应一账户。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库迁移服务器,迁移包括所有数据库(200个左右)和账户信息(200个左右)。一数据库对应一账户。相关的知识,希望对你有一定的参考价值。

从服务器A将数据库和账户迁移到数据库B,服务器为虚拟主机,200个数据库,和账户一一对应。服务器A数据库版本5.0.22,phpmyadmin版本2.9.0.3,服务器B数据库版本5.1.57,phpmyadmin版本3.3.10,也就是服务器B的数据库版本高于A。
用复制mysql目录下面的data文件夹方式直接覆盖之后,只有数据库,没有数据库对应的账户,也就是只有root账户。
用phpmyadmin导出全部数据库(不包含information_schema,mysql,test三个数据库)的方式再导入mysql,可以导入进去所有数据库,但问题同上,没有每个数据库对应的账户。
因虚拟主机需每个账户对应一个数据库,请高手指教,不胜感激。

你好,通过第二种方式导入了数据库,没有帐户,其实很简单。
你将原数据库里,mysql 库里的 user 表和 db 表导出过去就行了。因为所有的用户信息都记录在这2个表里。
user 表记录的是用户帐号及密码等,db 记录的是用户对应库和权限等。
你可以通过转储为.sql文件的方式,也可以直接在线迁移,甚至可以直接停止数据库直接拷贝这几个文件就行了。。
虽然用户密码是加密的,但整个过程中,根本也不需要知道用户的密码,直接迁移就行了。追问

你好 看了你的文章收益匪浅
如果是把db和user导出来,再导入的时候报错
是不是要先删除B服务器上的db和user再导入啊

参考技术A 数据库的数据加载进去,正在使用是不能够移出来的..
你把数据整理好之后要把数据库进行分离出来,然后才可以拷贝到其他移动磁盘上
不然,它会提示出磁盘受保护或者文件正在使用...先要把数据库分离在备份。
分离操作:
1.找到你需要备份的数据库
2.单击右键的所有任务
3.分离数据库追问

我用的是直接复制mysql文件夹的形式,直接复制就可以,即使在使用

参考资料:百度一下

参考技术B 专门的虚拟主机管理的话,都有主机权限重置的,而且成像也都有网站重建,数据库的话,把数据库暂停,然后直接把data拷贝过去就行了 参考技术C gh-ost 是 GitHub 发布的一款用于 MySQL 的无触发器在线模式迁移解决方案。它是可测试的,并提供暂停,动态控制/重新配置,审计和许多操作特权。它在整个迁移过程中,对主服务器产生的工作量很少,与已迁移表上的现有工作分离。
gh-ost与所有现有的在线模式更改工具都以类似的方式操作:它们以与原始表相似的方式创建幽灵表,将数据从原始表缓慢且增量地复制到幽灵表,同时应用正在进行的更改(INSERT,DELETE,UPDATE)到幽灵表。最后,在适当的时候,它用幽灵表替换了原始表。gh-ost使用相同的模式。但是,它与所有现有工具的不同之处在于不使用触发器。取而代之的是,gh-ost使用二进制日志流捕获表的更改,然后将其异步应用到幽灵表。
gh-ost 承担一些其他工具留给数据库执行的任务。gh-ost 可以更好地控制迁移过程;可以真正暂停它;可以真正将迁移的写入负载与主服务器的工作负载分离。此外,它还提供了许多可操作的特权,使其更安全、可信赖且易于使用。

以上是关于mysql数据库迁移服务器,迁移包括所有数据库(200个左右)和账户信息(200个左右)。一数据库对应一账户。的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver迁移到mysql遇到的那些坑

MySQL5.6.21 数据迁移到 MySQL5.7.16方法

如何在两台服务器之间安全迁移MySQL数据库

阿里云环境迁移记录

MySQL数据库数据迁移:从一个服务器到另一个服务器

如何把mariadb迁移到mysql