MySQL复制M-S-S架构,缓解M压力
[ 2014-05-26 12:57:39 | 作者: admin ]
master=>slave=>slave架构
在第一个slave中设置log-slave-update参数,表示从master取得并执行的二进制日志写入自己的二进制日志文件中。
注意:slave上设置了log-slave-update参数,则不能执行stop slave;reset master;将slave切成主。
----------------------------------------------------------------------
这里插入一个疑问,如果slave不打开log-slave-update选项,但是打开log-bin选项,从master同步到中继日志文件,在sql_thread线程执行后,是否会写入slave的log-bin中。
做个测试验证一下:
mysqld4作为slave,开启log-bin,但是未设置log-slave-update
...
阅读全文…
在第一个slave中设置log-slave-update参数,表示从master取得并执行的二进制日志写入自己的二进制日志文件中。
注意:slave上设置了log-slave-update参数,则不能执行stop slave;reset master;将slave切成主。
----------------------------------------------------------------------
这里插入一个疑问,如果slave不打开log-slave-update选项,但是打开log-bin选项,从master同步到中继日志文件,在sql_thread线程执行后,是否会写入slave的log-bin中。
做个测试验证一下:
mysqld4作为slave,开启log-bin,但是未设置log-slave-update
...
阅读全文…
[转]深入Mysql字符集设置
[ 2014-05-01 20:21:39 | 作者: admin ]
深入Mysql字符集设置
http://blog.csdn.net/laruence/article/details/2250454
mysql 使用set names 解决乱码问题的原理
解决乱码的方法,我们经常使用“set names utf8”,那么为什么加上这句代码就可以解决了呢?下面跟着我一起来深入set names utf8的内部执行原理
先说MySQL的字符集问题。Windows下可通过修改my.ini内的
PHP代码
[mysql]
default-character-set=utf8 //客户端的默认字符集
[mysqld]
default-character-set=utf8 //服务器端默认的字符集
假设我们把两个都设为utf8,然后在MySQL Command Line Client里面输入“show ...
阅读全文…
http://blog.csdn.net/laruence/article/details/2250454
mysql 使用set names 解决乱码问题的原理
解决乱码的方法,我们经常使用“set names utf8”,那么为什么加上这句代码就可以解决了呢?下面跟着我一起来深入set names utf8的内部执行原理
先说MySQL的字符集问题。Windows下可通过修改my.ini内的
PHP代码
[mysql]
default-character-set=utf8 //客户端的默认字符集
[mysqld]
default-character-set=utf8 //服务器端默认的字符集
假设我们把两个都设为utf8,然后在MySQL Command Line Client里面输入“show ...
阅读全文…
MySQL 加锁处理分析,写得比较多
[ 2013-12-13 22:00:15 | 作者: admin ]
p.s.尚未验证不过非常值得借鉴
http://hedengcheng.com/?p=771
1 背景 1
1.1 MVCC:Snapshot Read vs Current Read 2
1.2 Cluster Index:聚簇索引 3
1.3 2PL:Two-Phase Locking 3
1.4 Isolation Level 4
2 一条简单SQL的加锁实现分析 5
2.1 组合一:id主键+RC 6
2.2 组合二:id唯一索引+RC 6
2.3 组合三:id非唯一索引+RC 7
2.4 组合四:id无索引+RC 8
2.5 组合五:id主键+RR 9
2.6 组合六:id唯一索引+RR 9
...
阅读全文…
http://hedengcheng.com/?p=771
1 背景 1
1.1 MVCC:Snapshot Read vs Current Read 2
1.2 Cluster Index:聚簇索引 3
1.3 2PL:Two-Phase Locking 3
1.4 Isolation Level 4
2 一条简单SQL的加锁实现分析 5
2.1 组合一:id主键+RC 6
2.2 组合二:id唯一索引+RC 6
2.3 组合三:id非唯一索引+RC 7
2.4 组合四:id无索引+RC 8
2.5 组合五:id主键+RR 9
2.6 组合六:id唯一索引+RR 9
...
阅读全文…
mysql can't connect to mysql server 10061
[ 2013-11-15 14:46:53 | 作者: admin ]
安装mysql5.6 windows版本之后发现一个问题
mysql服务正常启动,但是在dos下面和web下面无法连接,报错
解决办法:
停止mysql的服务
删除mysql服务项 >mysqld -remove mysql56
重建mysql服务项 >mysqld -install
查看新服务项的属性,发现没有指定配置文件地址 my.ini ,就到安装目录去找
配置好my.ini,启动mysql服务,发现可以连接了
mysql服务正常启动,但是在dos下面和web下面无法连接,报错
mysql can't connect to mysql server 10061
解决办法:
停止mysql的服务
删除mysql服务项 >mysqld -remove mysql56
重建mysql服务项 >mysqld -install
查看新服务项的属性,发现没有指定配置文件地址 my.ini ,就到安装目录去找
配置好my.ini,启动mysql服务,发现可以连接了
mysql my.ini配置文件修改无效
[ 2013-11-15 10:50:28 | 作者: admin ]
windows下mysql 5.6安装后,修改安装路径下的my.ini配置文件怎么修改均无效,经过仔细检查,发现在服务里,默认加载的是这个路径下的my.ini:
"C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.6\my.ini" MySQL56
解决办法:
1. 把my.ini文件拷贝到这个文件即可。
2. 修改--defaults-file路径,指向自己的mysql安装根目录下的my.ini。
==================================================
参考安装方法
...
阅读全文…
"C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.6\my.ini" MySQL56
解决办法:
1. 把my.ini文件拷贝到这个文件即可。
2. 修改--defaults-file路径,指向自己的mysql安装根目录下的my.ini。
==================================================
参考安装方法
...
阅读全文…
MYSQL中文全文检索(mysqlcft插件)
[ 2013-10-11 20:23:47 | 作者: admin ]
环境:
Ubuntu 11.04
MySQL
**** 首先需要表类型为:MyISAM****
下载安装插件。
mysql>
SHOW VARIABLES LIKE 'plugin_dir';
确定插件路径:/usr/local/mysql/lib/plugin
Ubuntu>
wget http://mysqlcft.googlecode.com/files/mysqlcft-1.0.0-x86_64-bin.tar.gz
tar zxvf mysqlcft-1.0.0-x86_64-bin.tar.gz
sudo cp mysqlcft.so /usr/local/mysql/lib/plugin
mysql>
INSTALL PLUGIN mysqlcft SONAME 'mysqlcft.so';
...
阅读全文…
Ubuntu 11.04
MySQL
**** 首先需要表类型为:MyISAM****
下载安装插件。
mysql>
SHOW VARIABLES LIKE 'plugin_dir';
确定插件路径:/usr/local/mysql/lib/plugin
Ubuntu>
wget http://mysqlcft.googlecode.com/files/mysqlcft-1.0.0-x86_64-bin.tar.gz
tar zxvf mysqlcft-1.0.0-x86_64-bin.tar.gz
sudo cp mysqlcft.so /usr/local/mysql/lib/plugin
mysql>
INSTALL PLUGIN mysqlcft SONAME 'mysqlcft.so';
...
阅读全文…
设置mysql的超时问题,interactive_timeout和wait_timeout的值
[ 2013-09-29 14:57:07 | 作者: admin ]
p.s. 程序不指定mysql.close就会出现大量空置的mysql数据库链接,显示未TIME_WAIT
1,为什么要重新设置这两个变量的值?
因为如果数据库默认这两个变量的值是8小时(即28800秒)如果在8小时之内没有连接到数据库,等下次再连的时候就会抛连接超时,或连接关闭这样的异常,但是多连接几次就会好,因此我在想 把这两个变量的值设长一点,如30天(2592000),如果不行 再设置长一点 ,这样就有一个问题,希望有大牛看到我这篇博客后替我分析分析,问题是:这个时间设置长了以后会不会对数据库的资源造成浪费,这个浪费是不是在我们可以接受的范围之内?
2,怎样设置这个两个变量值
1,修改配置文件/etc/my.cnf(windows下my.ini),在[mysqld]下加两行interactive_timeout=设置值 wait_timeout=设置的值 ...
阅读全文…
1,为什么要重新设置这两个变量的值?
因为如果数据库默认这两个变量的值是8小时(即28800秒)如果在8小时之内没有连接到数据库,等下次再连的时候就会抛连接超时,或连接关闭这样的异常,但是多连接几次就会好,因此我在想 把这两个变量的值设长一点,如30天(2592000),如果不行 再设置长一点 ,这样就有一个问题,希望有大牛看到我这篇博客后替我分析分析,问题是:这个时间设置长了以后会不会对数据库的资源造成浪费,这个浪费是不是在我们可以接受的范围之内?
2,怎样设置这个两个变量值
1,修改配置文件/etc/my.cnf(windows下my.ini),在[mysqld]下加两行interactive_timeout=设置值 wait_timeout=设置的值 ...
阅读全文…
Incorrect string value 赵孟頫
[ 2013-09-23 17:02:19 | 作者: admin ]
原文:http://blog.csdn.net/shootyou/article/details/8236024
之前还以为从上至下统一用上UTF-8就高枕无忧了,哪知道今天在抓取新浪微博的数据的时候还是遇到字符的异常。
从新浪微博抓到的数据在入库的时候抛出异常:
Incorrect string value: '\xF0\x90\x8D\x83\xF0\x90...'
发现导致异常的字符不是繁体而是某种佛经文字。。。额滴神。。。但是按道理UTF-8应该能支持才对啊,他不是万能的么?
原来问题出在mysql上,mysql如果设置编码集为utf8那么它最多只能支持到3个字节的UTF-8编码,而4个字节的UTF-8字符还是存在的,这样一来如果你建表的时候用的utf8字符集出异常就理所当然了。
解决方法很简单,修改字段或者表的字符集为utf8mb4。
比较蛋疼的是,字符集utf8mb4在mysql 5.5.3之后才支持。。。
...
阅读全文…
之前还以为从上至下统一用上UTF-8就高枕无忧了,哪知道今天在抓取新浪微博的数据的时候还是遇到字符的异常。
从新浪微博抓到的数据在入库的时候抛出异常:
Incorrect string value: '\xF0\x90\x8D\x83\xF0\x90...'
发现导致异常的字符不是繁体而是某种佛经文字。。。额滴神。。。但是按道理UTF-8应该能支持才对啊,他不是万能的么?
原来问题出在mysql上,mysql如果设置编码集为utf8那么它最多只能支持到3个字节的UTF-8编码,而4个字节的UTF-8字符还是存在的,这样一来如果你建表的时候用的utf8字符集出异常就理所当然了。
解决方法很简单,修改字段或者表的字符集为utf8mb4。
比较蛋疼的是,字符集utf8mb4在mysql 5.5.3之后才支持。。。
...
阅读全文…