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)

相关推荐
tang777895 分钟前
反爬虫场景下代理IP池的动态扩容与失效IP自动清理方案实现
linux·服务器·网络·爬虫代理·住宅代理ip
剑之所向1 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
evans在进步1 小时前
Tomcat NIO 工作原理详解:从 Acceptor、Poller 到容器处理链
java·tomcat·nio
新时代牛马1 小时前
Linux 系统调用与IPC 完整篇:从syscall 入口、VDSO 到pipe/shm/futex 选型
linux·运维·服务器
词却1 小时前
数据库基础:DQL 数据查询语言
数据库·oracle
渡我白衣2 小时前
并查集:基础认识与模拟实现
android·java·javascript·数据结构·c++·算法·并查集
电商API_180079052472 小时前
电商商品价格监控工具淘宝京东商品价格抓取API项目实操分享
java·大数据·开发语言·前端·数据挖掘
zzzll11112 小时前
深度剖析:HashMap 并发死循环与 ConcurrentHashMap 两代演进全解
java·开发语言
小HANN3 小时前
Linux建站实战:CentOS7+LNMP 从零部署 ECShop 开源电商系统
linux·运维·服务器·经验分享
秋名RG3 小时前
2026/5/27 生产事故复盘与整改方案
java