当前位置: 首页 > news >正文

python非交互连接mysql+mycat读写分离实现

python非交互连接mysql

>>>import  pymysql

>>>conn=pymysql.connect(host="192.168.118.57",port=3306,database="test",user="root",password="root")
>>> cursor=conn.cursor()

>>> cursor.execute("create user 'slave0'@'%' identified by 'slave0'")

0
>>> cursor.execute("grant replication slave on *.* to 'slave0'@'%'")
0
>>> cursor.execute("flush privileges")
0
>>> cursor.execute("flush tables with read lock")
0
>>> cursor.execute("unlock tables")
0
>>> cursor.execute("flush tables with read lock")
0
>>> cursor.execute("show master status")
1
>>> print(cursor.fetchall())
(('binlog.000001', 1024, '', '', ''),)
>>> 

可以将上述的python连接mysql编写成脚本:

vim  test.py

import pymysql
conn=pymysql.connect(host="192.168.118.57",port=3306,database="test",user="root",password="root");
cursor=conn.cursor()
cursor.execute("create user 'slave2'@'%' identified by 'slave2'")
cursor.execute("grant replication slave on *.*  to 'slave2'@'%'")
cursor.execute("flush privileges")
cursor.execute("flush tables with read lock")
cursor.execute("show master status")
print(cursor.fetchall())

isOk=input("slave server ok? y/n")

if isOK=='y':
        cursor.execute("unlock tables")

mycat读写分离实现

mycat:独属于mysql主从的负载均衡策略,配置写主读从

mycat是用java开发的

步骤:

1.添加一个新主机(192.168.118.70),关闭防火墙,selinux,NetworkManager

2.上传jdk和mycat安装包

3.解压并添加到指定的位置

  224  tar -xf jdk-8u192-linux-x64.tar.gz 
  225  tar -xf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz 
  226  cp -r jdk1.8.0_192/ /usr/local/jdk
  227  cp -r mycat/ /usr/local/

4.查看并且配置jdk环境

  229  ls /usr/local/jdk
  230  sed -i '$aexport JAVA_HOME=/usr/local/jdk' /etc/profile

  233  source /etc/profile
  234  $JAVA_HOME
  235  sed -i '$aexport PATH=$PATH:$JAVA_HOME/bin' /etc/profile
  236  source /etc/profile
  237  $PATH

  239  javac -version

[root@allow ~]# javac -version
javac 1.8.0_192

5.测试启动mycat

  240  ls /usr/local/mycat/
  241  ls /usr/local/mycat/bin
  242  /usr/local/mycat/bin/mycat console

6.找到server.xml 和 schema.xml

ls /usr/local/mycat/conf

7.配置server.xml

vim /usr/local/mycat/conf/schema.xml 

注释掉107-113行

8.配置schema.xml

vim /usr/local/mycat/conf/schema.xm

代码解释:

9.启动服务

/ usr / local / mycat / bin / mycat start
10.检查启动是否成功
netstat -lnput | grep 8066
tcp6       0      0 :::8066                 :::*                    LISTEN      3242/java  
11.测试连接   
[root@master-mysql ~]# mysql -h192.168.118.70 -P8066 -uwangjia -pwangjia
 

mysql> select * from user;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | aaa      | aaa      |
|  2 | bbb      | bbb      |
+----+----------+----------+
2 rows in set (0.05 sec)

mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 15    |
+---------------+-------+
1 row in set (0.01 sec)
 


http://www.mrgr.cn/news/5008.html

相关文章:

  • Excel 跨表格引用单格公式--> =表格名!单元格坐标
  • 阿里巴巴开源大作:EchoMimic—数字人技术的颠覆者
  • 「字符串」字符串哈希|RK匹配:前缀哈希|滚动哈希 / LeetCode 28(C++)
  • go语言的占位符
  • JVM 相关面试题汇总
  • HTML静态网页成品作业(HTML+CSS)——非遗阜阳剪纸介绍设计制作(1个页面)
  • UniAD_面向规划的自动驾驶
  • InternLM2_PracticalCamp_L2_task3_LMDeploy量化部署进阶实践
  • 使用c++推理yolov8的目标检测模型
  • 前端获取主流浏览器的信息进行判断 实现自适应内容(360浏览器)
  • 河南萌新联赛2024第(六)场:郑州大学(补题ABCDFGIL)
  • C++:模拟实现string
  • 个人理解—uboot启动过程(2)BL1低级初始化
  • c++ opencv显示图片
  • Vivado生成bitstream时报[DRC CFGBVS-1]警告的问题
  • 代码随想录算法训练营第六十天 | dijkstra(堆优化版)、Bellman_ford 算法精讲
  • MSO和WPS文档图标那些事儿
  • [C语言]-基础知识点梳理-文件管理
  • 从0开始构建HTML页面(2)
  • 【C++ Primer Plus习题】2.5