Azure Database for Mysql还原操作
请耐心看完,每个字都很关键。
操作流程
还原
进入到准备还原的Azure Mysql服务器中,点击还原按钮。
配置还原后产生的新Mysql服务器的名字
还原的原理
- 还原不会影响当前业务的正常运行。
- 相当于是重新生成一台
伪新的Mysql服务器
(在Azure Portal上可以看到新生成的Mysql服务器,但实际新Mysql服务器和老Mysql服务器的ip地址相同)。 - 还原的操作会产生一个
新的管理员user name账号
(即 老Mysql管理员账号前缀@新Mysql服务器名),使用该新管理员user name账号
登陆看到的就是还原点的Mysql服务器的整体状态(包括 库,表,等等),且该新管理员均可以在 原Mysql服务器和还原后产生的新Mysql中登陆; - 我们只需要登录
新管理员user name账号
,找到还原点的表数据,复制到原始(业务使用的)Mysql服务器下的表中即可完成还原表的操作。 - 如果上述你都理解不了,那么,你就这样理解就好了。还原操作会产生一个全新的Mysql服务器,但是这台新Mysql服务器会继承过来之前的管理员账号。如果原始Mysql的管理员账号不带
@Mysql服务器名
,则你用这个不带@Mysql服务器名
的账号登录到还原后产生的新Mysql服务器则看到的是一个 本次还原操作结束时状态的Mysql(简单理解,如果你的原始Mysql在还原期间没有任何数据操作,则这个还原产生的新Mysql和原始Mysql的数据是完全一样的,但是是隔离的,即后续原始Mysql有数据变更也不会影响到这台新Mysql的数据),而非你指定还原点的Mysql;
所以正确的登录方式是:你需要使用@还原后产生的新Mysql服务器名
的user name登录(无所谓你登录到哪台Mysql服务器,新的也好,老的也好,因为还原操作仅仅产生一个新的@Mysql服务器名字的user name账号,还有一台伪新的Mysql服务器因为此ip等于原始Mysql服务器ip),即可看到还原点状态的Mysql,然后我们只需要复制一下表,导入到原始Mysql中(原始如何登录,就如何登录即可,这样不影响业务)即可完成表数据的还原操作。
结论
- Azure Mysql参数解读
-
服务器名称:连接的地址;对应Navicat软件中的host参数;
-
服务器管理员登录名:对应Navicat软件中的User Name参数;
-
Azure Mysql 还原操作不会影响当前业务的正常运行。
-
Azure Mysql服务器的
复制
操作,会重新生成一台伪新的Mysql服务器(ip地址复制前后两台Mysql服务器是一样的)。
-
Azure Mysql不管登陆的user name有没有
@服务器名
,则均不影响正常使用,即用户root
和root@mysq0101010
是同一个用户;但为了避免混乱和歧义,强烈建议使用@服务器名
进行登陆。如果你用户名不加@服务器名,则还原后登录新的Mysql服务器会出现问题(新Mysql和老Mysql数据一样,但不是主从,类似于独立的全新的库)! -
Azure Mysql 登陆的user name很关键,使用原用户名来登陆还原后新生成的Mysql,相当于登陆的还是原库,因为mysql 权限是可以复制的。
-
Azure Mysql 登陆的user name使用
@还原后新生成的服务器名
登陆,则为还原时的时间节服务器状态。后续的还原操作,我们只需要手动处理一下即可,比如copy一下表做还原等等。。
-
还原后记得要删除还原时产生的伪新Mysql服务器,删除后,将无法再使用
@还原后新生成的服务器名
登录了,会报错 “The server name you tried cannot be found: qwermysql01. Please check the Username and retry connection. The Username should be in <username@hostname> format.”