日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

企业实战_14_MyCat跨分片查询_全局表

發(fā)布時(shí)間:2024/9/27 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 企业实战_14_MyCat跨分片查询_全局表 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

接上一篇:企業(yè)實(shí)戰(zhàn)_13_MyCat清除冗余數(shù)據(jù)
https://gblfy.blog.csdn.net/article/details/100057317

文章目錄

          • 一、跨分片查詢驗(yàn)證
            • 1. 登錄mycat
            • 2. 使用邏輯數(shù)據(jù)庫(kù)
            • 1.3. 執(zhí)行跨分片查詢
            • 1.4. 異常信息,問(wèn)題定位
            • 1.5. 表分布
            • 1.6. 跨分片查詢的解決方式
            • 1.7. 場(chǎng)景分析
          • 二、企業(yè)實(shí)戰(zhàn)跨分片查詢
            • 2.1. 基礎(chǔ)操作(熟悉即可)
            • 2.2. node2節(jié)點(diǎn)導(dǎo)出表數(shù)據(jù)
            • 2.3. node3節(jié)點(diǎn)導(dǎo)入表數(shù)據(jù)
            • 2.4. node4節(jié)點(diǎn)導(dǎo)入表數(shù)據(jù)
            • 2.5. MyCat節(jié)點(diǎn)
            • 2.6. 重啟MyCat使配置生效
            • 2.7. 再次跨分頁(yè)查詢驗(yàn)證
          • 三、全局表驗(yàn)證
            • 3.1. 修改全局表數(shù)據(jù)
            • 3.2. node2節(jié)點(diǎn)數(shù)據(jù)驗(yàn)證
            • 3.3. node3節(jié)點(diǎn)數(shù)據(jù)驗(yàn)證
            • 3.4. node4節(jié)點(diǎn)數(shù)據(jù)驗(yàn)證

一、跨分片查詢驗(yàn)證
1. 登錄mycat

在任意節(jié)點(diǎn)(node4)上登錄mycat

mysql -uapp_imooc -p123456 -h192.168.92.101 -P8066
2. 使用邏輯數(shù)據(jù)庫(kù)
use imooc_db;
1.3. 執(zhí)行跨分片查詢
SELECTsupplier_name,b.region_name AS '省',c.region_name AS '市',d.region_name AS '區(qū)' FROMproduct_supplier_info aJOIN region_info b ON b.region_id = a.provinceJOIN region_info c ON c.region_id = a.cityJOIN region_info d ON d.region_id = a.district;
1.4. 異常信息,問(wèn)題定位
ERROR 1064 (HY000): invalid route in sql, multi tables found but datanode has no intersection sql

1.5. 表分布
表節(jié)點(diǎn)
region_infonode1
product_supplier_infonode2
針對(duì)這種情況應(yīng)該如何處理呢?
1.6. 跨分片查詢的解決方式
序號(hào)方案說(shuō)明
api方式通過(guò)前端程序,去訂單模塊中分別獲取省市區(qū)的信息,之后拼接在一起
數(shù)據(jù)冗余的方式把這些省市區(qū)的信息冗余到商品模塊的供應(yīng)商表中
全局表字典表跨分片操作
1.7. 場(chǎng)景分析
  • 字典類的表:

如果通過(guò)api方式,查詢的頻率比較高,api調(diào)取的次數(shù)也會(huì)很高,而且通過(guò)前臺(tái)程序,api調(diào)用再去拼接,比較耗時(shí)。

如果通過(guò)數(shù)據(jù)冗余方式,這個(gè)數(shù)據(jù)的冗余度比較大,字段不多還好說(shuō),針對(duì)字段比較多的字典表的話,一旦修改的話,我們就要修改和字段表相關(guān)的表,因此,字典類型的不適用api和數(shù)據(jù)冗余的方式進(jìn)行處理。

MyCat提供的全局表的功能,在每個(gè)分片上都會(huì)有這個(gè)全局表,也就是說(shuō),我們會(huì)把region_info這個(gè)表以相同的數(shù)據(jù),存儲(chǔ)到這3個(gè)數(shù)據(jù)節(jié)點(diǎn)中,然后再schema.xml中聲明全局表。

二、企業(yè)實(shí)戰(zhàn)跨分片查詢
2.1. 基礎(chǔ)操作(熟悉即可)
步驟命令說(shuō)明
mysqldump -uroot -p order_db region_info > region_info導(dǎo)出備份region_info表
mysql -uroot -p product_db < region_info將region_info 數(shù)據(jù)導(dǎo)入到product_db數(shù)據(jù)庫(kù)中
scp region_info root@192.168.43.172:/root將region_info 表以root用戶同步到ip為192.x服務(wù)器的root目錄下面
2.2. node2節(jié)點(diǎn)導(dǎo)出表數(shù)據(jù)
# 在node2節(jié)點(diǎn)上導(dǎo)出備份region_info表mysqldump -uroot -p order_db region_info > region_info# 復(fù)制到node3上scp region_info root@192.168.92.103:/root# 復(fù)制到node4上scp region_info root@192.168.92.104:/root
2.3. node3節(jié)點(diǎn)導(dǎo)入表數(shù)據(jù)
# 將region_info 數(shù)據(jù)導(dǎo)入到product_db數(shù)據(jù)庫(kù)中 mysql -uroot -p product_db < region_info# 登錄mysql mysql -uroot -p Enter password: 123456# 使用product_db數(shù)據(jù)庫(kù) use product_db;# 查詢r(jià)egion_info是否導(dǎo)入成功 show tables;執(zhí)行日志: mysql> show tables; +-----------------------+ | Tables_in_product_db | +-----------------------+ | product_brand_info | | product_category | | product_comment | | product_info | | product_pic_info | | product_supplier_info | | region_info | +-----------------------+ 7 rows in set (0.00 sec)mysql>
2.4. node4節(jié)點(diǎn)導(dǎo)入表數(shù)據(jù)
# 將region_info 數(shù)據(jù)導(dǎo)入到customer_db數(shù)據(jù)庫(kù)中 mysql -uroot -p customer_db< region_info# 登錄mysql mysql -uroot -p Enter password: 123456# 使用customer_db數(shù)據(jù)庫(kù) use customer_db;# 查詢r(jià)egion_info是否導(dǎo)入成功 show tables;執(zhí)行日志: mysql> show tables; +-----------------------+ | Tables_in_customer_db | +-----------------------+ | customer_balance_log | | customer_inf | | customer_level_inf | | customer_login | | customer_login_log | | customer_point_log | | region_info | +-----------------------+ 7 rows in set (0.00 sec)mysql>
2.5. MyCat節(jié)點(diǎn)
# 進(jìn)入mycat的conf目錄下面cd /app/mycat/conf/# 編輯schema.xml文件vim schema.xml# 將region_info邏輯表,定義為全局表 將<table name="region_info" primaryKey="region_id" dataNode="ordb" /> 調(diào)整為<table name="region_info" primaryKey="region_id" dataNode="ordb,prodb,custdb" type="global"/>

2.6. 重啟MyCat使配置生效
# 停止mycat mycat stop# 啟動(dòng)mycat mycat start# 查看啟動(dòng)日志 [root@node1 conf]# tail -f /app/mycat/logs/wrapper.log http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. INFO | jvm 1 | 2021/07/11 17:27:51 | MyCAT Server startup successfully. see logs in logs/mycat.log
2.7. 再次跨分頁(yè)查詢驗(yàn)證
# 使用mysql客戶端連接mycat mysql -uapp_imooc -p123456 -h192.168.92.101 -P8066# 驗(yàn)證跨分片查詢 # 執(zhí)行跨分片查詢 SELECTsupplier_name,b.region_name AS '省',c.region_name AS '市',d.region_name AS '區(qū)' FROMproduct_supplier_info aJOIN region_info b ON b.region_id = a.provinceJOIN region_info c ON c.region_id = a.cityJOIN region_info d ON d.region_id = a.district;

三、全局表驗(yàn)證

登錄mycat修改全局表數(shù)據(jù),驗(yàn)證是否同步3個(gè)物理節(jié)點(diǎn)的物理庫(kù)的全局表

3.1. 修改全局表數(shù)據(jù)

登錄MyCat修改全局表數(shù)據(jù),驗(yàn)證是否可以同步到其他3個(gè)數(shù)據(jù)節(jié)點(diǎn)中

#使用mysql客戶端連接mycat mysql -uapp_imooc -p123456 -h192.168.92.101 -P8066# 使用邏輯庫(kù) use imooc_db;# 查看全局表數(shù)據(jù) select * from region_info; mysql> select * from region_info; +-----------+-----------+---------------+--------------+ | region_id | parent_id | region_name | region_level | +-----------+-----------+---------------+--------------+ | 1 | 0 | 中國(guó)(china) | 0 | +-----------+-----------+---------------+--------------+ 1 row in set (0.29 sec)mysql>

更新全局表數(shù)據(jù)

-------------------------------------------------# 更新全局表數(shù)據(jù) update region_info set region_name='中國(guó)2022' where region_id=1;# 更新后,再次查看全局表數(shù)據(jù) select * from region_info limit 10; Database changed mysql> select * from region_info; +-----------+-----------+---------------+--------------+ | region_id | parent_id | region_name | region_level | +-----------+-----------+---------------+--------------+ | 1 | 0 | 中國(guó)(china) | 0 | +-----------+-----------+---------------+--------------+ 1 row in set (0.29 sec)mysql> update region_info set region_name='中國(guó)2022' where region_id=1; Query OK, 1 row affected (0.07 sec) Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from region_info; +-----------+-----------+-------------+--------------+ | region_id | parent_id | region_name | region_level | +-----------+-----------+-------------+--------------+ | 1 | 0 | 中國(guó)2022 | 0 | +-----------+-----------+-------------+--------------+ 1 row in set (0.00 sec)mysql>

注:mysql更新數(shù)據(jù)庫(kù)失敗 --read-only 請(qǐng)進(jìn)入傳送門:
https://blog.csdn.net/weixin_40816738/article/details/100059688

3.2. node2節(jié)點(diǎn)數(shù)據(jù)驗(yàn)證

登錄node2節(jié)點(diǎn)

  • 在登錄mycat節(jié)點(diǎn)修改全局表數(shù)據(jù)后,查看node2節(jié)點(diǎn)的數(shù)據(jù)是否被更新
# 登錄數(shù)據(jù)庫(kù)mysql -uroot -p # 使用指定數(shù)據(jù)use order_db;# 更新后,再次查看全局表數(shù)據(jù) select * from region_info;發(fā)現(xiàn)通過(guò)登錄mycat節(jié)點(diǎn)修改全局表數(shù)據(jù),node2節(jié)點(diǎn)的數(shù)據(jù)已經(jīng)更新Database changed mysql> select * from region_info; +-----------+-----------+-------------+--------------+ | region_id | parent_id | region_name | region_level | +-----------+-----------+-------------+--------------+ | 1 | 0 | 中國(guó)2022 | 0 | +-----------+-----------+-------------+--------------+ 1 row in set (0.00 sec)mysql>

3.3. node3節(jié)點(diǎn)數(shù)據(jù)驗(yàn)證

登錄node3節(jié)點(diǎn)

  • 查看在登錄mycat節(jié)點(diǎn)修改全局表數(shù)據(jù),node3節(jié)點(diǎn)的數(shù)據(jù)是否被更新
# 登錄數(shù)據(jù)庫(kù)mysql -uroot -p # 使用指定數(shù)據(jù)use product_db;# 更新后,再次查看全局表數(shù)據(jù) select * from region_info limit 10;發(fā)現(xiàn)通過(guò)登錄mycat節(jié)點(diǎn)修改全局表數(shù)據(jù),node3節(jié)點(diǎn)的數(shù)據(jù)已經(jīng)更新mysql> select * from region_info limit 10; +-----------+-----------+-------------+--------------+ | region_id | parent_id | region_name | region_level | +-----------+-----------+-------------+--------------+ | 1 | 0 | 中國(guó)2022 | 0 | +-----------+-----------+-------------+--------------+ 1 row in set (0.01 sec)mysql>
3.4. node4節(jié)點(diǎn)數(shù)據(jù)驗(yàn)證
  • 查看在登錄mycat節(jié)點(diǎn)修改全局表數(shù)據(jù),node3節(jié)點(diǎn)的數(shù)據(jù)是否被更新
# 登錄數(shù)據(jù)庫(kù)mysql -uroot -p # 使用指定數(shù)據(jù)use customer_db;# 更新后,再次查看全局表數(shù)據(jù) select * from region_info limit 10;發(fā)現(xiàn)通過(guò)登錄mycat節(jié)點(diǎn)修改全局表數(shù)據(jù),node4節(jié)點(diǎn)的數(shù)據(jù)已經(jīng)更新mysql> select * from region_info limit 10; +-----------+-----------+-------------+--------------+ | region_id | parent_id | region_name | region_level | +-----------+-----------+-------------+--------------+ | 1 | 0 | 中國(guó)2022 | 0 | +-----------+-----------+-------------+--------------+ 1 row in set (0.00 sec)mysql>

下一篇:企業(yè)實(shí)戰(zhàn)_15_MySql主從復(fù)制到MyCat總結(jié)
https://gblfy.blog.csdn.net/article/details/118657995

總結(jié)

以上是生活随笔為你收集整理的企业实战_14_MyCat跨分片查询_全局表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人性视频在线 | 香蕉视频免费在线 | 好色艳妇小说 | 涩涩视频免费观看 | gai免费观看网站外网 | 少妇喷潮明星 | 国产suv精品一区二区69 | 成人淫片 | 成人免费网站www网站高清 | 日本少妇全体裸体洗澡 | а 天堂 在线| 欧美精品第一页 | 免费黄色在线视频 | 国产精品视频麻豆 | 狠狠成人 | 国产中文网| 欧美日韩在线观看一区二区三区 | 在线成人黄色 | 国产色综合网 | 久久久久一区二区精码av少妇 | 猛男被粗大男男1069 | 激情综合五月婷婷 | 色婷婷av久久久久久久 | 久久精品久久精品 | 国产视频中文字幕 | 香蕉视频首页 | 日韩成人不卡 | 久热精品视频 | 国产一级片自拍 | 久久激情av | 成人日韩精品 | 国产91黄色 | 91精品国产高清一区二区三蜜臀 | 荒野求生21天去码版网站 | 亚洲乱码国产乱码精品精的特点 | 一级做a爰片久久毛片潮喷 天天透天天干 | 国产二区在线播放 | 三级中文字幕 | 97干在线| 亚洲性xx| 香蕉爱视频 | 国产精品第六页 | 午夜片在线观看 | 国产精品123 | 国产国产精品 | 高清毛片aaaaaaaaa片 | 国产不卡在线播放 | 加勒比在线免费视频 | 影音资源av | 麻豆md0049免费 | 精品一区二区三区四区五区六区 | 九色91视频 | 伊人综合影院 | 国产拍拍拍 | 国产成人综合久久 | 欧美h在线观看 | 欧美日韩在线一区二区 | 亚洲日本免费 | 日韩在线播放一区二区 | 女人高潮娇喘1分47秒 | 麻豆最新 | 国产精品免费无码 | xxxx 国产 | 麻豆视频在线 | 欧美一区永久视频免费观看 | www.youjizz.com久久 | 日本内谢少妇xxxxx少交 | 国产3级在线 | 国产黑丝av| 成人av资源网 | 特级大胆西西4444人体 | 久久久嫩草 | 亚洲大片免费观看 | 91久久久久久久久久久久 | 亚欧精品视频一区二区三区 | 久久久久国产精品视频 | www.色网站 | 视频丨9l丨白浆 | 在线精品亚洲欧美日韩国产 | 亚洲黄色av| 99草在线视频 | 午夜天堂视频 | 看黄网站在线 | 性涩av| 秋霞一级全黄大片 | 国产网红无码精品视频 | 香蕉久热 | а√中文在线资源库 | 男人天堂tv | 91国模少妇一区二区三区 | 国产激情视频在线播放 | 深爱开心激情 | 久久日视频 | 欧美性猛交99久久久久99按摩 | 国产黄频在线观看 | av色图| wwwyoujizz日本| 欧美丰满bbw | 全黄一级片 |