YII配置mysql读写分离
Mysql 读写分离
YIi 配置
<?php return [
'class' => 'yii\db\Connection',
'masterConfig' => [
// 'dsn' => 'mysql:host=localhost;dbname=studyyii',
'username' => 'root',
'password' => 'caesar',
'charset' => 'utf8',
'attributes' => [
// use a smaller connection timeout
PDO::ATTR_TIMEOUT => 10,
],
], // 配置主服务器组
'masters' => [
['dsn' => 'mysql:host=172.31.80.31;dbname=studyyii'],
// ['dsn' => 'dsn for master server 2'],
], // 配置从服务器
'slaveConfig' => [
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'attributes' => [
// use a smaller connection timeout
PDO::ATTR_TIMEOUT => 10,
],
],
// 配置从服务器组
'slaves' => [
['dsn' => 'mysql:host=localhost;dbname=studyyii'],
],
];
Linux mysql master
My.cnf:
server_id = 1 #从服务器标识,范围1---2E32-1 log_bin = mysql_bin binlog_do_db = studyyii binlog_do_db = mysql
#mysql service restart
windows mysql slave
mysql.ini:
[mysqld] port=3306 server-id = 2 replicate-do-db = study
重启mysql
登陆mysql
mysql> stop slave;
mysql> change master to master_host='192.168.1.200',master_user='root',master_password='123456';
mysql> start slave;
mysql> show slave status\G;
查看这两项是否为YES,yes为正常。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Ok 了 读写分离,主从同步
Mysql –master linux-slave
My.ini:
Server-id=1 relay-log=relay-bin relay-log-index=relay-bin-index binlog-do-db = studyyii
重启服务器
登陆mysql
Mysql –u root –p
在主数据库建立slave连接的权限:
mysql> grant replication slave,reload,super on *.* to 'root'@'172.31.80.31' iden
tified by 'root';
(root为连接的账号,IP 和密码)
Show master status;
记住,以前我没设置权限,显示的position为120 一直因为没开权限么启动
至此,Windows mysql master 设置完毕
二、打开Linux mysql
Vi /etc/my.cnf #根据你服务器MySQL的设置来编辑,编辑mysql的配置文件
在MySQLd下面添加配置:
:wq 保存退出
Service mysql restart #我的mysql是5.6.23 已经添加为系统服务,其它一下版本是mysqld ,反正就是重启mysql,根据自己的配置来
Mysql –u root –p #连接mysql
设置连接:
change master to master_host='172.31.80.26',master_user='root',master_password='root', master_log_file='mysql-bin.000014',mas14',master_log_pos=344;
#连接的账户 IP 密码为mastermysql的。Master_log_file 和log_pos 为前期Windows mysql的show master status 中看到。
出现OK之后
Start slave;启动slave
查看状态
Show slave status\G;
当slave_IO_Running 和Slave_SQL_Running 都为yes 说明配置成功。
如果IO_Running 为connecting 说明一直在连接,你的配置是有问题的,
检查master 是否有错误,检查slave连接master是否有问题,
然后你就看到更改数据 数据库可以同步了。
YII配置mysql读写分离的更多相关文章
- laravel 配置MySQL读写分离
前言:说到应对大流量.高并发的解决方案的时候,总会有这样的回答,如:读写分离,主从复制...等,数据库层今天先不讨论,那么今天我们就来看看怎么在应用层实现读写分离. 框架:laravel5.7(所有配 ...
- MySQL数据库的同步配置+MySql读写分离
使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3. ...
- mysql运维入门6:MySQL读写分离
Amoeba 以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy 集中想用应用的请求,根据用户事先设置的规则,将SQL请求发送到特定的数据库上执行 基于此可以实现负载均衡.读写分离 ...
- 使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置
参考博文: MySQL-(Master-Slave)配置 本人按照博友北在北方的配置已成功 我使用的是 mysql5.6.27版本. 使用Atlas实现MySQL读写分离 数据切分——Atlas读 ...
- mysql读写分离配置(整理)
mysql读写分离配置 环境:centos7.2 mysql5.7 场景描述: 数据库Master主服务器:192.168.206.100 数据库Slave从服务器:192.168.206.200 M ...
- 面试官你好,我已经掌握了MySQL主从配置和读写分离,你看我还有机会吗?
我是风筝,公众号「古时的风筝」,一个简单的程序员鼓励师. 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面. 面试官:我看你简历上写的你们公司数据库是 ...
- mysql读写分离(PHP类)
mysql读写分离(PHP类) 博客分类: php mysql 自己实现了php的读写分离,并且不用修改程序 优点:实现了读写分离,不依赖服务器硬件配置,并且都是可以配置read服务器,无限扩展 ...
- amoeba实现MySQL读写分离
amoeba实现MySQL读写分离 准备环境:主机A和主机B作主从配置,IP地址为192.168.131.129和192.168.131.130,主机C作为中间件,也就是作为代理服务器,IP地址为19 ...
- PHP代码实现MySQL读写分离
关于MySQL的读写分离有几种方法:中间件,Mysql驱动层,代码控制 关于中间件和Mysql驱动层实现Mysql读写分离的方法,今天暂不做研究, 这里主要写一点简单的代码来实现由PHP代码控制MyS ...
随机推荐
- SpringBoot @Aspect
1.添加maven依赖注解 <!--springBoot的aop--> <dependency> <groupId>org.springframework.boot ...
- Socket通讯-Netty框架实现Java通讯
Netty简介 Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. 也就是说,Netty ...
- Java将一个字符串的首位改为大写后边改为小写的实现,String
Java将一个字符串的首位改为大写后边改为小写的实现,String 思路: 获取首字母, charAt(0) substring(0,1) 转成大写 toUpperCase() 转大写hellO=== ...
- Activity 与 Task
[Activity 与 Task] A task is a collection of activities that users interact with when performing a ce ...
- stevedore动态加载模块
stevedore动态加载模块,stevedore使用setuptools的entry points来定义并加载插件.entry point引用的是定义在模块中的对象,比如类.函数.实例等,只要在im ...
- spark快速开发之scala基础之2控制流程
判断结构 大体与java相当.scala没有三元表达式. val num = if(1>0) 1 else 0 //相当于匿名函数 println(num) var num2 = 0 if(1& ...
- computed
Vue.js在模板表达式中限制了,绑定表达式最多只能有一条表达式,但某些数据需要一条以上的表达式运算实现,此时就可以将此数据放在计算属性(computed)当中. Vuejs中关于computed ...
- CUDA error 100 & Decoder not initialized
项目中用cuda解码时候遇到该错误,这是调用cuda相关库中一些so库版本错误造成的.
- linux 日常实用操作
[Tab]接在一串指令的第一个字的后面,为[命令补全] [Tab]接在一串命令的第二个字以后时,则为[文件补全] 若安装bash-completion 软件,则在某些指令后面使用[Tab]按键时,可以 ...
- HDU 1542 Atlantis(线段树面积并)
描述 There are several ancient Greek texts that contain descriptions of the fabled island Atlantis. S ...