分类 我爱编程 下的文章

mysql主从同步备份

说明:
本文主要讲mysql主从数据同步,从mysql实时同步主mysql的数据。这里,一般要求主msyql与从mysql版本相同或主msyql不高于从mysql版本(版本查询>select version())。一般稳健的做法都是使其版本相同,因为不同mysql版本之间的binlog(二进制日志)格式可能不一样,有可能会导致同步异常。

主mysql: 192.168.1.202
从mysql: 192.168.1.203

实现:
一.配置主mysql
1.修改主mysql配置,注意这里主mysql与从mysql server-id一定不能相同

# vim /etc/mysql/my.cnf  //内容如下server-id = 1log-bin= /var/log/mysql/mysql-bin.log
expire_logs_days
= 10 //设置binlog超期日期max_binlog_size= 100M //不一定要,设置单个binlog最大文件大小binlog_do_db=myslave//需要同步多个数据库,请另起一行设置binlog_do_db = 同步数据库名称binlog_ignore_db=mysql//不同步数据库

2.重启主mysql,使配置生效

# /etc/init.d/mysql restart

3.主mysql中给予从mysql REPLICATION SLAVE权限即可,192.168.1.203为从库ip

>grant replication slave on*.*to slave@192.168.1.203identifiedby '123456';
>quit

4.主mysql新建myslave数据库及表结构,用于测试。

# /usr/local/mysql/bin/mysql -u root -p -S /tmp/mysql.sock
>CREATE DATABASE myslave CHARSET'utf8';
> usemyslave;
>CREATE TABLE`users` (
`id`mediumint(8) unsignedNOT NULL AUTO_INCREMENT,
`username`varchar(20)NOT NULL,
`website`varchar(30)DEFAULT NULL,PRIMARY KEY(`id`)
)ENGINE=MyISAMDEFAULT CHARSET=utf8;

>CREATE TABLE`users_log` (
`user_log_id`mediumint(8) unsignedNOT NULL AUTO_INCREMENT,
`info`varchar(200)DEFAULT NULL,
`uid`mediumint(8) unsignedNOT NULL,PRIMARY KEY(`user_log_id`)
)ENGINE=MyISAMDEFAULT CHARSET=utf8;

5.主mysql导出myslave数据库,先锁住myslave不让其有写入操作,这个窗口不要关,否则lock会失效

>flush tableswithreadlock;
# mysqldump -uroot -proot -P3306 --databases myslave > /tmp/backdb.sql  //导出单个数据库时
# mysqldump -uroot -proot -P3306 --databases db1 db2 > /tmp/backdb.sql  //导出多个数据库时
>unlock tables//导出成功后,解锁表

6.新开个终端,进入mysql查看binlog的File,Position,记下,很重要!

# /usr/local/mysql/bin/mysql -u root -p -S /tmp/mysql.sock
>show master status;
+——————+———-+————–+——————+
| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
|mysql-bin.000001 |     106 |myslave     |mysql           |
+——————+———-+————–+——————+

二.从mysql操作,修改my.cnf
1.修改从mysql配置文件/etc/my.cnf

# vim /etc/mysql/my.cnfserver-id= 10  //我只修改了这条,其它都是在mysql命令行修改。所以下面的都不需要master-host= 192.168.45.7master-user=slave
master
-password= 123456master-port= 3306master-connect-retry = 5replicate-do-db=myslave
replicate
-ignore-db=mysql

2.修改完my.cnf重启mysql,使配置生效

# /etc/init.d/mysql restart

3.导入主mysql dump出的数据。可能需要先使用create database 库,新建库,具体没注意。

# /usr/local/mysql/bin/mysql -u root -p -S /tmp/mysql.sock
>source/tmp/backdb.sql//个人理解,如果多个库在同一个mysqldump文件中,要同时导入所有库,就不用> use 库,直接source /tmp/backdb.sql。如果要导入多个库,但不是全部,可能得> use db1,> source /tmp/backdb.sql;> use db2,> source /tmp/backdb.sql

4.查看是否导入成功

>show tables;
+——————-+
| Tables_in_myslave |
+——————-+
|users            |
|users_log        |
+——————-+
2rowsin set (0.00sec)

5.配置Slave信息并启动Slave服务,修改master前要先停slave服务

>stop slave//默认是关闭
>CHANGE MASTER TO>MASTER_HOST='192.168.1.100',
>MASTER_USER='slave',
>MASTER_PORT=3306,     //注意不要引号
>MASTER_PASSWORD='123456',
>MASTER_LOG_FILE='mysql-bin.000004',
>MASTER_LOG_POS=106;   //注意不要引号

以上关键的是MASTER_LOG_FILE以及MASTER_LOG_POS值,可以从Master服务器获得,如果不设置,将无法正常启动Slave服务

6.启动Slave服务

>start slave;
>show slave status/G;

当输入命令后会出现一大堆的状态,具体看Slave_IO_Running以及Slave_SQL_Running的状态,如果都是Yes就代表正常
然后还可以看到Slave_IO_State的状态是Waiting for master to send event,含义是等待Master服务器发送事件

三.测试:,在Master服务器插入一条数据

> usemyslave;
>insertintousers(username,website)values('edison','http://www.gaingreat.com');

插入成功之后,稍等片刻,就可以在Slave服务器上查看到相同记录,主从同步有时延

附录:
1.查看从mysql状态

>show slave statusG;
Waiting for master to sendevent
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

以上二行同时为Yes说明配置成功

2.查看主mysql状态

>show master status;

 

3.如果想要查看当前Slave服务器的同步状态及偏移值等信息,请查找master.info文件

more/var/lib/mysql/master.info

 

4.查看Slave执行binlog文件的情况

#more /var/lib/mysql/relay-log.info

原文参考:
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
MySQL数据库的同步配置+MySql 读写分离

转载请注明:酷喃|coolnull| » mysql主从同步备份

 

免费使用SS+FS翻墙

新用户注册送50G流量,支持FS加速。先放出网址,注册网址:t-tt.top,相关工具:http://pan.baidu.com/s/1kVzuE7H。。。

注册号之后登陆用户中心,把相关的信息复制下来。。

下载好我上边百度云的工具

然后这里就分加速跟不加速了。。。不加速的上上google facebook这些事没问题,但是看youtube会卡,加速的话可以畅游youtube~!首先先说不加速的设置吧~!

打开Shadowsocks,设置好后点击确定,然后在右下角点击图标启动
,好了,不加速的教程就结束了。

首先安装好在百度云下载的FianlSpeed,然后分别点击打开FianlSpeed和Shadowscoks~!按下图设置设置好之后点击保存,保存好之后,右击小飞机Shadowscoks,然后分别将两个软件都退出,之后按顺序分别打开,先打开FianlSpeed在打开Shadowscoks,当FianlSpeed显示连接成功的时候就表示加速成功,现在就可以愉快的去youtube啦~!

 

最后上一张楼主渣渣的长城10M宽带加速后的youtube吧。。。白天1080P毫无压力,晚上高峰期楼主的渣渣长城只能看个720P的了。

 

 

 

优秀的免费VPS加速方案——锐速

锐速是一款非常不错的TCP底层加速软件,可以非常方便快速地完成服务器网络的优化,配合 ShadowSocks 效果奇佳。目前锐速官方也出了永久免费版本,适用带宽20M、3000加速连接,个人使用是足够了。如果需要,先要在锐速官网注册个账户。

注意:由于业务调整,即日起,锐速将暂停用户注册与安装。 如有疑问,请咨询客服QQ。”这是官方的公告,现在锐速停止了服务,无法在新机器上安装锐速了以前装过的可以看锐速的授权信息是否还有绑定信息,估计着会降低免费套餐的加速宽带甚至直接取消免费套餐吧。。。

然后确定自己的内核是否在锐速的支持列表里,如果不在,请先更换内核,如果不确定,请使用 手动安装

Tip:OpenVZ并不支持锐速,所以搬瓦工也不支持。如果丢包严重可以参考OpenVZ虚拟化 丢包优化教程——NetSpeed

锐速并非支持所有的版本,所以的安装之前一定要确定系统内核支持锐速。


首先下载Putty,然后输入IP和端口(默认22)后点击Open连接VPS。

然后登陆VPS,第一次登陆会提示你一个信息框,点是(Yes)就行了。

账号都是root(小写),密码一般在控制台有生成或更改的地方。输入密码的时候不会显示出来,但是实际是在输入的。

然后就可以输入下面的代码,一步一步来!一行一行来!

Tip:右键可以粘贴!

内核检测

查看linux支持内核列表

使用uname -a命令来查询内核版本,例如返回的是Linux ss 3.8.0-35-generic3.8.0-35-generic就是内核版本

这里顺便说一下linode VPS仅支持debian7系统,在选择内核时请选择3.14.5-x86_64-linode42版本,这个版本才能安装锐速。

安装步骤

确定自己的内核版本在支持列表里,就可以使用以下命令快速安装了。

  1. wget http://my.serverspeeder.com/d/ls/serverSpeederInstaller.tar.gz
  2. tar xzvf serverSpeederInstaller.tar.gz
  3. bash serverSpeederInstaller.sh

输入在官网注册的账号密码进行安装(没有的请注册),参数设置直接回车默认即可。

最后两项输入y开机自动启动锐速,y立刻启动锐速。之后可以通过lsmod命令查看是否有appex模块在运行。

开启高级算法

一些KVM/XEN的VPS上支持高级算法,所以我们可以修改锐速的3个参数来开启,vi /serverspeeder/etc/config

  1. rsc="1" #RSC网卡驱动模式
  2. gso="1"
  3. maxmode="1" #最大传输模式

使用命令

  1. #重启锐速
  2. /serverspeeder/bin/serverSpeeder.sh restart
  3. #启动锐速
  4. /serverspeeder/bin/serverSpeeder.sh start
  5. #停止锐速
  6. /serverspeeder/bin/serverSpeeder.sh stop
  7. #查看锐速运行情况
  8. /serverspeeder/bin/serverSpeeder.sh status

删除锐速

  1. #脚本删除,如果不行就用下面的强制删除
  2. ./serverSpeederInstaller.sh uninstall
  3. 强制删除
  4. rm-rf/serverspeeder


其他的优化方案:Linux上的shadowsocks服务端优化方法OpenVZ虚拟化 丢包优化教程——NetSpeed

 

(转:逗比根据地http://www.dou-bi.com/)

Linux上的shadowsocks服务端优化方法

首先,你的Linux内核是3.5或更高版本。(搬瓦工不支持

以下步骤涉及到编辑文件,这个需要vim或者其他的编辑工具,如果不会使用就看这个教程


首先下载Putty,然后输入IP和端口(默认22)后点击Open连接VPS。

然后登陆VPS,第一次登陆会提示你一个信息框,点是(Yes)就行了。

账号都是root(小写),密码一般在控制台有生成或更改的地方。输入密码的时候不会显示出来,但是实际是在输入的。

然后就可以输入下面的代码,一步一步来!一行一行来!

Tip:右键可以粘贴!

第1步,提高打开文件描述符的最大数量

为了处理数千个并发的TCP连接,我们应该增加打开文件描述符的限制。

编辑limits.conf

  1. vi/etc/security/limits.conf

添加这两行,如果不知道添加到哪里,就添加到最上面或者最下面。

  1. *soft nofile51200
  2. *hard nofile51200

然后,你开始shadowsocks服务器之前,首先设置的ulimit

  1. ulimit-n51200

第2步,调整内核参数

修改这个文件/etc/sysctl.conf

  1. vi /etc/sysctl.conf

添加下面这些内容,如果不知道添加到哪里,就添加到最上面或者最下面。

  1. fs.file-max= 51200
  2.  
  3. net.core.rmem_max= 67108864
  4. net.core.wmem_max= 67108864
  5. net.core.netdev_max_backlog= 250000
  6. net.core.somaxconn= 4096
  7.  
  8. net.ipv4.tcp_syncookies= 1
  9. net.ipv4.tcp_tw_reuse= 1
  10. net.ipv4.tcp_tw_recycle= 0
  11. net.ipv4.tcp_fin_timeout= 30
  12. net.ipv4.tcp_keepalive_time= 1200
  13. net.ipv4.ip_local_port_range= 10000 65000
  14. net.ipv4.tcp_max_syn_backlog= 8192
  15. net.ipv4.tcp_max_tw_buckets= 5000
  16. net.ipv4.tcp_fastopen= 3
  17. net.ipv4.tcp_mem= 25600 51200 102400
  18. net.ipv4.tcp_rmem= 4096 87380 67108864
  19. net.ipv4.tcp_wmem= 4096 65536 67108864
  20. net.ipv4.tcp_mtu_probing= 1
  21. net.ipv4.tcp_congestion_control=hybla

当然,记得要执行sysctl -p重新加载配置。

其实添加的位置在哪里不重要,只是很多人问我要添加到哪里,那我干脆截个图算了,记得添加的代码要和其他的代码分开,也就是上下都回车键隔开一行!

(zhuan:doubigenjudi)

SS-Panel教程——新手扩展篇(数据库和后台介绍)

数据库

首先介绍SS数据库各个表的功能。

invite_code表

这里面显示的是目前存在的邀请码。

  1. code          //邀请码;
  2. user          //这个邀请码是在对应用户(序号)的邀请好友页面显示的!

ss_node表

这个表是关于节点信息的。

  1. node_nameuser          //节点名称,往往都是以节点所在地区命名(比如:日本、洛杉矶);
  2. node_typeuser        //节点类型/分类,就是SS节点列表的普通节点列表和Pro节点列表(往往Pro都是增强版的节点,理性分类更便于用户分清质量);
  3. node_server            //节点IP,也可以是域名(大多都是域名形式的,好记);
  4. node_method           //节点加密方式,这个要和后端config.json里的加密类型设置一致!
  5. node_info             //节点描述,这个我就不多说了;
  6. node_status           //节点状态,这个只是给用户看的(比如:可用就是正常能用,维护就是出了故障暂停了。)
  7. node_order             //节点顺序,这个影响SS-Panel前端节点列表的排列!

ss_reset_pwd表

这个是重置密码的相关设置,不需要管!

ss_user_admin表

这个表是设置管理员的,管理员可以登陆后台(前后台账号是通用的)!

添加管理员的方法:点击复制,然后在新页面的uid空值处填写用户的id,点击执行!(用户id请看下面)

user表

这个表显示的就是SS站注册用户的信息。

  1. uid                         //用户的序号id;
  2. user_name                 //用户的昵称/用户名;
  3. email                     //用户的注册邮箱;
  4. pass                       //用户的密码,这里的密码是MD5加密的,新版的SS-Panel更是用了加密度更高的带salt的Sha256加密(所以管理员也是无法看见用户密码的!);
  5. passwd                   //用户的SS链接密码;
  6. t                           //SS最后使用时间;
  7. u                       //SS已上传流量;
  8. d                       //SS已下载流量;
  9. plan                   //套餐,不过这方面并没有完善,所以没用。保留字段;
  10. transfer_enable           //总流量;
  11. port                 //SS链接端口
  12. enable                   //启用或禁用ss帐号(1启用,0禁用)

数据库介绍完了,下面该说SS-Panel后台了!

SS-Panel后台

首先打开后台:你的域名/admin/index.php

目前的后台挺简陋的,不过大部分操作还是可以完成的!

节点列表

在这里你可以添加删除/编辑节点!

上面数据库的ss_node表我已经介绍了,大家应该能理解了吧!

用户管理

这里是管理用户信息的,可以删除/编辑用户信息。

这里的ID和数据库的uid是一样的。这里可以更改一些重要信息,加流量的话可以在这里加。至于邀请码数量,可以用来清零这个用户的邀请码!

邀请管理

邀请码前缀指的是你生成的邀请码前面的数字。

邀请码类别填0就会在网站的公共页面显示邀请码,填写其他用户的UID/ID就是向这个用户发送一些邀请码。

最后说一下自带的流量清零脚本。

在sspanel目录的tools文件夹下,有个reset_transfer.php文件,每到每月1日,打开网址:你的域名/tools/reset_transfer.php,就会自动清零已使用流量!强烈建议改名!

怎么感觉这个文章有点水啊。。。。不过应该对于没接触过的新手有启蒙指导作用吧,了解这些就可以更好的上手了!

网站建好了,但是没有人气怎么办?去我的Shadowsocks网站页面提交你的网站信息吧!

(转:逗比根据地http://www.dou-bi.com/)