将Php应用程序与MySQL Fabric连接(使用php识别连接器)

时间:2015-09-17 15:17:47

标签: php mysql sharding mysql-fabric

我使用MySQL Fabric实现了MySQL Sharding,如下所示:

步骤:
1.为MySQL Fabric安装最新的(mysql-utilities-1.5.2实用程序)并为php-aware-connector启用mysqlnd_ms 2.设置和管理MySQL Fabric
3.创建组(全局,分片组)并将服务器添加到组中 4.定义数据库模式和表,为数据库/表的所有分片设置范围 5.根据要求启用GTID所有服务器
5.使用命令验证和测试(mysqlfabric sharding lookup_servers database_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

1 个答案:

答案 0 :(得分:1)

显然,MySQL路由器现在是将PHP连接到Fabric的方法:

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

它们不是在每个连接器中提供单独的结构功能,而是将其分解为外部组件,可以与任何现有连接器透明地使用。