mysql - 执行 : mysqlfabric sharding add_table 1 employees. 员工 emp_no 时出错

标签 mysql mysql-workbench mysql-python sharding mysql-fabric

当我执行以下命令来创建分片时:

 mysqlfabric sharding add_table 1 employees.employees emp_no

我收到以下错误:

DatabaseError: Command (INSERT INTO shard_tables(shard_mapping_id, table_name, column_name) VALUES(%s, %s, %s), ('1', 'employees.employees', 'emp_no')) failed accessing (localhost:3306). 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (fabric.shard_tables, CONSTRAINT fk_shard_mapping_id FOREIGN KEY (shard_mapping_id) REFERENCES shard_maps (shard_mapping_id)).

我也尝试使用SET FOREIGN_KEY_CHECKS = 0;但它不能解决问题。

我正在使用 MySQL Fabric

我的 Fabric.cfg

[DEFAULT]
prefix =
sysconfdir = /etc
logdir = /var/log

[statistics]
prune_time = 3600

[logging]
url = file:///var/log/fabric.log
level = INFO

[storage]
database = fabric
user = fabric
address = 192.168.1.96:3306
connection_delay = 1
connection_timeout = 6
password =
connection_attempts = 6

[connector]
ttl = 1

[protocol.xmlrpc]
threads = 5
address = 192.168.1.96:32274




[servers]
restore_user = fabric
unreachable_timeout = 5
backup_password =
backup_user = fabric
user = fabric
restore_password =
password =


[executor]
executors = 5

[sharding]
mysqldump_program = /home/mysql/mysql/bin/mysqldump
mysqlclient_program = /home/mysql/mysql/bin/mysql

[protocol.mysql]
disable_authentication = no
ssl_cert =
ssl_key =
ssl_ca =
user = admin
address = localhost:32275
password =

最佳答案

哦,我解决了。在以下命令中:

mysqlfabric sharding add_table 1 employees.employees emp_no

我使用的“1”显示了fabric.shard_maps 表中的映射分片ID,但该表中不存在,因此我选择了my_shard 中存在的映射ID 之一。

谢谢!!

关于mysql - 执行 : mysqlfabric sharding add_table 1 employees. 员工 emp_no 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37495986/

相关文章:

php - 错误 : unexpected update count received (Actual: 0, 预期 1)

javascript - ajax请求成功但看不到我的数据

mysql - MYSQL Workbench 最新版本没有显示错误信息

mysql - 子查询返回多于 1 行

python - 使用 MySQLdb 在 Python 中执行 .sql 文件

python - 程序退出时MySQL行被删除

php - SQL查询插入错误

mysql - 如何删除数据透视表中的空值?

mysql - mysql的随机值

python - 无法导入 MySQLdb