MyCat, который вы хотите внедрить в подтаблицу базы данных MySQL, находится здесь.

MySQL

Используйте MyCat для реализации подбазы данных и подтаблицы MySQL.Если вы еще не реализовали ее или не знаете, вы можете взглянуть.

предисловие

Ранее я писал статью о подбазе данных и подтаблице mysql, эта статья просто дает вам представление, но есть много деталей, которые не упомянуты в ответе ниже. Итак, Кака выпустил эту статью.

Эта статья предназначена только для одной из деталей, например, как реализовать подтаблицу подбазы данных MySQL, в этой статье используется промежуточное программное обеспечение базы данных MyCat для достижения.

Среди них наибольшее количество ответов касается того, как управлять запросом на подкачку после подбазы данных и подтаблицы, и этот вопрос будет написан позже.

В реальном применении подбазы данных и подтаблицы MySQL все еще есть много проблем.Кака постарается предоставить всем решения.Если у вас есть лучший план реализации, увидимся в области комментариев!

В этой статье используется среда

  • MySQL8.0
  • Centos7.3

1. Установка MyCat

Чтобы избежать проблемы с подсказками рекламы, перейдите на официальный адрес MyCat и скопируйте адрес загрузки самостоятельно, Kaka не предоставит его здесь.

Используемая Kaka виртуальная машина — centos7.3.JDK, для которого требуется среда, уже доступен, поэтому я не буду писать туториал. Если нет, Baidu Soso сделает это!

На следующем рисунке показана успешная установка инсталляционного пакета在这里插入图片描述Чтобы распаковать:tar -zxvf Mycat-server-1.6.7.1-release-20200209222254-linux.tar.gz, после успешной распаковки в каталоге появится каталогmycatсодержание.

2. Создайте нового пользователя MySQL

Необходимо создать нового пользователя MySQL для подключения к Mycat.

Ниже приведен процесс создания пользователя.

// 创建mycat用户
CREATE USER 'mycat'@'%' IDENTIFIED BY 'mycat';
// 修改密码
ALTER USER 'mycat'@'%' IDENTIFIED WITH mysql_native_password BY ’Fang,1996'; 
// 刷新权限
FLUSH PRIVILEGES;

3. Настройте MyCat

Элемент конфигурации 1: server.xml

Здесь используется созданный выше новый пользователь MySQL mycat Логическая библиотека, которой можно управлять, называется mycat_order, что соответствует

Интерпретируйте это из коробки

Первая строка: после значения имени указан пользователь MySQL, созданный выше. Вторая строка: пароль пользователя mycat Третья строка: это база данных

在这里插入图片描述Второй элемент конфигурации: schema.xml

Этот файл в основном изменяет два узла, которые подключаются к другим базам данных.

Правило использования мод-лонг, на что нужно обратить внимание сразу

Конфигурация этой штуки уже давно нащелкана, а ниже уже настроенная кака在这里插入图片描述

Третий элемент конфигурации: rule.xml

Вот order_id с использованием правила mod-long在这里插入图片描述Эта модификация заключается в том, что вы можете написать столько узлов, сколько у вас есть在这里插入图片描述

3. Подготовка информации базы данных

Создать базы кака и кака на двух серверах 114.55.103.25 и 192.168.253.129

Создайте две таблицы t_order и t order_detail соответственно.

Структура таблицы следующая

CREATE TABLE `t_order_detail` (
  `od_id` int(11) NOT NULL,
  `order_id` int(11) DEFAULT NULL,
  `goods_id` int(11) DEFAULT NULL,
  `unit_price` float DEFAULT NULL,
  `qty` int(11) DEFAULT NULL,
  PRIMARY KEY (`od_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `t_order` (
  `order_id` bagint(20) NOT NULL,
  `user_id` int(11) DEFAULT NULL,
  `pay_mode` tinyint(4) DEFAULT NULL,
  `amount` float DEFAULT NULL,
  `order_date` datetime DEFAULT NULL,
  PRIMARY KEY (`order_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

4. Проверьте соединение и вставьте данные, чтобы просмотреть статус распределения данных.

соединять:mysql -umycat -p -P8066 -h192.168.253.129 --default-auth=mysql_native_password

После успешного подключения вы можете увидеть нашу логическую библиотеку在这里插入图片描述Затем добавьте три данных

insert into t_order (order_id,user_id,pay_mode,amount) values (next value for MYCATSEQ_ORDER,103,1
Query OK, 1 row affected (0.01 sec)

insert into t_order (order_id,user_id,pay_mode,amount) values (next value for MYCATSEQ_ORDER,103,1
Query OK, 1 row affected (0.01 sec)

insert into t_order (order_id,user_id,pay_mode,amount) values (next value for MYCATSEQ_ORDER,103,1
Query OK, 1 row affected (0.01 sec)

В это время давайте проверим данные t_order библиотеки логики, order_id здесь должен начинаться с 1000, и Kaka использовал некоторые для тестирования ранее.在这里插入图片描述В настоящее время мы смотрим на распределение данных двух баз данных 192.168.253.129 и 114.55.103.25.

"база данных 192.168.253.129"Это может видеть, что были введены две части данных

在这里插入图片描述 "база данных 144.55.103.25"

Эта база данных ввела только одну часть данных在这里插入图片描述

5. Пейджинговый запрос, требуемые данные запрашиваются в разных таблицах

На самом деле mycat уже сделал все это за вас.

Например, теперь данные, у которых user_id равен 103, распределены по двум базам данных, мы запрашиваем

在这里插入图片描述Также есть проблемы с пагинацией, все как обычно在这里插入图片描述

6. Резюме

  • База данных, использующая MySQL8.0, должна обратить внимание на проблему с паролем.
  • Примечание при настройке schema.xml
  • При настройке server.xml, несмотря на то, что логическая библиотека не требуется пользователю, ее необходимо изменить, чтобы она была согласованной.
  • Измените хост пользователя MySQL на %
  • Правило проверки пароля установлено на mysql_native_password.
  • При подключении к mycat необходимо привести параметр mysql_native_password

Кошка, использованная в этой статье, также является первым контактом с Ка-Ка, и я многого не понимаю. Позже Кака тоже будет понемногу дополнять эти знания, и я надеюсь, что все вместе смогут добиться прогресса.

Настойчивость в обучении, ведении блога и обмене информацией — вот убеждения, которых Кака всегда придерживалась с самого начала своей карьеры. Я надеюсь, что статьи о Кака в Nuoda Internet помогут вам немного.