php - 将 PHP 应用程序与 MySQL Fabric 连接(使用 php 感知连接器)

标签 php mysql sharding mysql-fabric

我已经使用 MySQL Fabric 实现了 MySQL 分片,步骤如下:

步骤:
1.为MySQL Fabric安装最新的(mysql-utilities-1.5.2实用程序)并为php-aware-connector启用mysqlnd_ms
2.设置和管理MySQL Fabric
3. 创建组(全局组、分片组)并将服务器添加到组中
4.定义数据库模式和表,范围全部用于分片数据库/表
5. 根据要求启用所有服务器的GTID
5.使用命令(mysqlfabric shardinglookup_serversdatabase_name.table_name 100000)进行验证和测试,它根据我的需要ping正确的服务器

问题:我无法将 PHP 应用程序与 MySQL Fabric 连接,但如果我与 python 应用程序(其连接器)一起使用,则相同的 MySQL Fabric 设置可以正常工作。

将 php 应用程序连接到 MySQL Fabric 时出现此错误:

Warning:  mysqlnd_ms_fabric_select_shard(): (mysqlnd_ms) Didn't receive usable servers from MySQL Fabric in /var/www/html/shard.php on line 49

Warning:  mysqli::query(): (mysqlnd_ms) Couldn't find the appropriate master connection. 0 masters to choose from. Something is wrong in /var/www/html/shard.php on line 53

Warning:  mysqli::query(): (mysqlnd_ms) No connection selected by the last filter in /var/www/html/shard.php on line 53

[2000] (mysqlnd_ms) No connection selected by the last filter

最佳答案

显然 MySQL Router 现在是将 PHP 连接到 Fabric 的方法:

http://mysqlhighavailability.com/mysql-router-on-labs-the-newest-member-of-the-mysql-family/

他们没有在每个连接器中提供单独的结构功能,而是将其纳入外部组件中,该组件可以与任何现有连接器透明地使用。

关于php - 将 PHP 应用程序与 MySQL Fabric 连接(使用 php 感知连接器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32634064/

相关文章:

php - MySQL/PHP - 时间流逝

php - 下拉值

PHP Mysql 根据累计值按日期分组

mysql - 使用 LIKE 进行搜索的大型 MySQL 表的分区

google-app-engine - Go 中的 Google App Engine 数据存储分片

php - 使用 sphinx(如 friend 的 friend )在社交网络中搜索 friend 和关系

php - 在 prestashop 中拆分 Mailalerts 模块收件人

php - Laravel if/else 语法

MySQL优化 View

database - 如何在分片数据库中创建唯一的行 ID?