我目前正在运行一个 LAMP 服务器。由于数据库压力太大,它经常崩溃。我想将数据库从那里分离出来并在单独的机器上运行。目前我的服务器上已经运行了大约 100 个网站。
这是我的计划:1.设置一个新服务器,在服务器上安装mysql 2.在Web服务器上,打开端口3306,作为新服务器上到3306的iptunnel
这样是否可取,或者是否最好手动将脚本中的数据库服务器更改为另一个?
如果我要这样做,大概我必须调整数据库中的所有用户以允许从网络服务器访问,对吗?
有什么想法吗?
答案1
您错过了重要的一点:传输所有数据。在不停机的情况下完成此操作很困难(但并非不可能,特别是如果您愿意涉足 MySQL 多主复制这个模糊的世界),如果您愿意忍受一些停机时间,您可以一次性完成,也可以逐个数据库地完成(如果您有许多独立的数据库,这可能是用一个小型、低价值的站点测试迁移计划的好方法,而不是把一切都搞得一团糟)。
就命名而言,答案是服务 CNAME——CNAME“db”或“mysql”或某物,指向您的数据库服务器。
如果你正在进行一次大切换(或者你只有一个数据库),请设置此 CNAME现在并指向 127.0.0.1,然后开始更改所有脚本以使用 CNAME。搜索并替换或任何需要的操作(如果听起来像——您已在许多单独的脚本中硬编码了 DB 信息,也可以借此机会集中这种配置,以防将来再次执行类似操作),但没有实际将任何数据移至新服务器。一旦所有内容都通过 CNAME 运行,然后您可以开始移动事物,并且在维护结束时更改 CNAME 要容易得多,而不是在维护窗口期间更改一千个脚本。