我正在设置一个mariadb集群,以最终切换到。但是,我没有能力停止生产实例,所以我尝试使用我遇到的各种解决方案来设置它。当前设置依赖于一对mariadb服务器作为主/从服务器对。我添加了第3台mariadb服务器,并将完整备份还原到第三台空服务器。
为了备份服务器,我执行了以下操作:
mysqldump -u root -p --all-databases --master-data=2 | gzip > backup.sql.gz一旦新服务器准备就绪,我就还原了数据库:
zcat backup.sql.gz | mysql -u root --port=3309 --socket=/var/run/mysqld/mysqld400.sock当我登录到mysql并做一个显示数据库时,除了默认的db(信息、性能和mysql)之外,什么都看不到。我停了下来,重新启动了mariadb,它仍然是一样的。我还需要指出刚刚恢复的数据吗?
发布于 2019-06-04 23:22:52
不管你采取什么方法,至少都会有一个短暂的停机时间。
你有M->S,想要G-G-G,对吗?
若要从M->S获得另一个奴隶,请停止该奴隶,克隆磁盘,更改server_id,启动它们,让复制赶上。大师不下去,但你会有S<-M->S,但这仍然不是你所需要的。
我认为(但我不确定)这就是解决办法。(这里没有太多的加雷拉帮助,所以我要给你的不仅仅是什么。)
步骤6可以替换为设置一个"garbd“节点--这可能要快得多,因为不需要任何数据。您可以执行步骤7来构建一个“真正的”节点,并摆脱and。
发布于 2019-06-07 19:42:33
因此,问题是我没有正确地登录到实例,这就是为什么我看不到数据库。
我在登录这个:
mysql -u root -p --port=3309
当我应该登录的时候:
mysql -u root -p -s -h 127.0.0.1 --port=3309
因此,备份/还原工作正常,唯一奇怪的是显示数据库;没有返回格式良好的表,但它显示了所有的数据库。
https://dba.stackexchange.com/questions/239796
复制相似问题