代码改变世界

Windows下MyCat配置MySql读写分离

2018-03-26 09:46  Yang-Onion  阅读(374)  评论(0编辑  收藏  举报

Windows+Cat+MySql实践MySQL安装、配置MyCat下载配置

Windows+Cat+MySql实践

MySQL安装、配置

[MySQL] 
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
port=3310

[mysqld]

#设置3306端口
port = 3310
server_id=1000
# 设置mysql的安装目录
basedir=D:/MySqlCluster/mysql_master
# 设置mysql数据库的数据的存放目录
datadir=D:/MySqlCluster/mysql_master/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER

[WinMySQLAdmin]

Server=D:/MySqlCluster/mysql_master/bin/mysqld.exe
  • 安装MySQL服务
mysqld --install mysql_master(它是服务名) --defaults-file=D:\MySqlCluster\mysql_master\my.ini 
--报错
Install/Remove of the Service Denied
--解决方法 用管理员方式运行CMD再执行上面的命令
--用上面命令安装mysql服务之后在windows服务列表中就可以看到一个mysql_master的服务.但此时服务不是启动的,手动启动这个服务报错
"本地计算机 上的 mysql_master 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止"
--解决办法 mysqld --initialize
D:\MySqlCluster\mysql_master\bin>mysqld --initialize
然后再重新手动启动一下mysql_master就可以了
  • 卸载MySql服务 mysqld --remove mysql_master

  • 安装slave的mysql服务

mysqld --install mysql_slave1 --defaults-file=D:\MySqlCluster\mysql_slave1\my.ini
mysqld --initialize
手动启动服务
mysqld --install mysql_slave2 --defaults-file=D:\MySqlCluster\mysql_slave2\my.ini
mysqld --initialize
手动启动服务
  • 修改mysql root的密码
D:\MySqlCluster\mysql_master\bin>mysql -u root -p
Enter password:
--输入临时密码.在data文件夹下面有一个xxx(计算机名).err文件,它里面有个[Note] A temporary password is generated for root@localhost:
--输入这个密码就可以进入mysql控制台,然后设置新密码
--设置新密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123123';
D:\MySqlCluster\mysql_master\bin>mysql -u root -p
输入123123就可以登陆了

MyCat下载配置

  • MyCat下载 下载xxxx.win.tar.gz
  • 修改mycat/conf下面的schema.xml



<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
<!-- auto sharding by id (long) -->
<table name="userinfo" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
</schema>
<!--注意:hostM1、hostS1、hostS2中需要有一个DemoDB且有一张表userinfo-->
<dataNode name="dn1" dataHost="localhost1" database="DemoDB" />
<dataNode name="dn2" dataHost="localhost1" database="DemoDB" />
<dataNode name="dn3" dataHost="localhost1" database="DemoDB" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="localhost:3310" user="root" password="123123" >
<readHost host="hostS1" url="localhost:3311" user="root" password="123123" />
<readHost host="hostS2" url="localhost:3312" user="root" password="123123" />
</writeHost>
</dataHost>

 

  • 安装mycat服务
-- 安装mycat服务
D:\MySqlCluster\mycat\bin>mycat.bat install
wrapper | Mycat-server installed.
--启动mycat服务
D:\MySqlCluster\mycat\bin>mycat.bat start
wrapper | Starting the Mycat-server service...
wrapper | Mycat-server started.
--查看mycat状态
D:\MySqlCluster\mycat\bin>mycat.bat status
wrapper | The Mycat-server Service is installed.
wrapper | Start Type: Automatic
wrapper | Interactive: No
wrapper | Running: Yes
  • Navicat连接MyCat
host:localhost
port:8066
密码:123456server.xml中可以看到
home page tracking
NutriSystem Diet