当前位置: 首页 > news >正文

旅游网站设计完整代码设计图片的手机软件

旅游网站设计完整代码,设计图片的手机软件,夸克破解可看禁用网站,西安微信公众号制作mysql#xff1a;工作原理 从库生成两个线程#xff0c;一个I/O线程#xff0c;一个SQL线程#xff1b; i/o线程去请求主库 的binlog#xff0c;并将得到的binlog日志写到relay log#xff08;中继日志#xff09; 文件中#xff1b; 主库会生成一个 log dump 线程工作原理 从库生成两个线程一个I/O线程一个SQL线程 i/o线程去请求主库 的binlog并将得到的binlog日志写到relay log中继日志 文件中 主库会生成一个 log dump 线程用来给从库 i/o线程传binlog SQL 线程会读取relay log文件中的日志并解析成具体操作来实现主从的操作一致而最终数据一致 mysql主从复制用途 实时灾备用于故障切换 读写分离提供查询服务 备份避免影响业务 主从部署必要条件 主库开启binlog日志设置log-bin参数 主从server-id不同 从库服务器能连通主库 Mysql支持的复制类型 1、 基于语句的复制在主服务器上执行的sql语句在从服务器上会执行同样的语句。Mysql默认采用基于语句的复制效率比较高但是有时不能实现精准复制。 2、 基于行的复制把改变的内容复制过去而不是把命令在从服务器上执行一遍。 3、 混合类型的复制默认采用基于语句的复制一旦发现基于语句的复制不能精准复制时就会采用基于行的复制。 部署mysql主从 两台centos7 首先关闭防火墙、关闭 seliunx systemctl stop firewalld senetforce 0yum 安装mariadb yum -y install mariadb mariadb-server[rootkafka02 ~]# vim /etc/my.cnf #主配置文件配置二进制文件 server-id1 #主的ID log-binmysql-bin # 二进制的配置 binlog-ignore-dbinformation_schema binlog-ignore-dbperformance_schema #这三个库不需要同步过去不然密码该成一样的了 binlog-ignore-dbmysql重启mysql systemctl restart mariadb进入mariadb mysql创建远程用户 MariaDB [(none)] grant all on *.* to tom% identified by 123; Query OK, 0 rows affected (0.01 sec)刷新数据库 MariaDB [(none)] flush privileges; Query OK, 0 rows affected (0.00 sec)查询二进制位置和文件 MariaDB [(none)] show master status; ±-----------------±---------±-------------±-------------------------------------------- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | ±-----------------±---------±-------------±-------------------------------------------- | mysql-bin.000005 | 444 | | information_schema,performance_schema,mysql | ±-----------------±---------±-------------±-------------------------------------------- 1 row in set (0.00 sec) 退出数据库 exit 配置从数据库 yum -y install mariadb mariadb-server[rootkafka02 ~]# vim /etc/my.cnf #从配置文件配置中继日志文件 server-id2 # 从的ID 一定要不能和主的ID重复 relay-logrelay-log #中继日志配置重启mysql systemctl restart mariadb进入mariadb mysql连接主数据库 MariaDB [(none)] change master to \ master_host192.168.253.231 \ #主数据库的ip master_usertom \ #主数据库新建的远程用户 master_password123 \ # 用户的密码 master_log_filemysql-bin.000003 \ #二进制文件 master_log_pos444; #文件的位置 记住位置不用加上引号开启从slave start;查询是否同步 MariaDB [(none)] show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.253.231 Master_User: tom Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000005 Read_Master_Log_Pos: 444 Relay_Log_File: relay-log.000011 Relay_Log_Pos: 728 Relay_Master_Log_File: mysql-bin.000005 Slave_IO_Running: Yes Slave_SQL_Running: YesIO和SQL为双Yes 说明同步成功部署读写分离amoeba 安装jdk rpm -ivh jdk-8u20-linux-x64.rpm #安装jdk vi /etc/profile #配置jdk环境变量 export JAVA_HOME/usr/java/jdk1.8.0_20/ export CLASSPATH$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin export AMOEBA_HOME/usr/local/amoeba export PATH$PATH:$AMOEBA_HOME/binsource /etc/profile #重读一遍才能生效 java –version #查询jdk版本 安装amoeba mkdir /usr/local/amoeba tar zxf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/ chmod -R 755 /usr/local/amoeba/ /usr/local/amoeba/bin/amoeba amoeba start|stop //显示这个表示amoeba安装成功。配置amoeba读写分离 在master、slave1、slave2、、、、中开放权限给amoeba访问 mysql grant all on *.* to test172.18.49.% identified by 123;修改amoeba的配置文件 cp amoeba.xml amoeba.xml.bak vim /usr/local/amoeba/conf/amoeba.xml修改连接amoeba代理服务器的有用户名和密码。 修改默认的地址池名字写和读的名字注意删掉注释符。 对应主机名 编辑修改dbservers.xml配置文件对后端mysql服务器的配置。 cp dbServers.xml dbServers.xml.bak #备份 vi dbServers.xml#填写新建的远程用户 指定主从数据库地址 都是对应得主机名 vi dbServers.xml 之后启动amoeba /usr/local/amoeba/bin/amoeba start netstat -anpt | grep :8066登陆amoeba 验证是否代理成功 部署监控mysql状态脚本 首先要切割出来双Yes和延时时间不能超过120然后在判断。 yum -y install mailx vim check_mysql_status.sh #!/bin/bash check(){ #定义一个函数 arr(mysql -e show slave status\G|egrep Running|Behind|awk -F : {print $2}) #定义数组把双Yes和延时时间放到数组里面。 #echo ${arr[]} if [ ${arr[0]} Yes -a ${arr[1]} Yes -a ${arr[2]} ! NULL ]; then # 判断 echo mysql status is ok # 没有断开 就okelsemail -s mysql status xxxxxxxxxxqq.com /tmp/result.txt #若是断开就发邮件告警 可以发 qq163 邮件 echo mysql is not ok! 正在发送邮件...fi }while true #循环 do check sleep 5 # 五秒发一次邮件 done给脚本附件权限 chmod x check_mysql_status.shmysql正常 执行脚本 #!/bin/bash check(){ #定义一个函数 arr(mysql -e show slave status\G|egrep Running|Behind|awk -F : {print $2}) #定义数组把双Yes和延时时间放到数组里面。 #echo ${arr[]} if [ ${arr[0]} Yes -a ${arr[1]} Yes -a ${arr[2]} ! NULL ]; then # 判断 echo mysql status is ok # 没有断开 就okelsemail -s mysql status xxxxxxxxxxqq.com /tmp/result.txt #若是断开就发邮件告警 可以发 qq163 邮件 echo mysql is not ok! 正在发送邮件...fi }while true #循环 do check sleep 5 # 五秒发一次邮件 done给脚本附件权限 chmod x check_mysql_status.sh mysql正常 执行脚本 ./ check_mysql_status.sh mysql status is ok mysql主从断开 执行脚本./ check_mysql_status.sh mysql is not ok! 正在发送邮件...粉丝福利
http://www.w-s-a.com/news/397/

相关文章:

  • 商品网站怎么做wordpress 表情拉长
  • 商城网站设计费用网络公司怎样推广网站
  • 视频公司的网站设计工图网
  • 免费快速网站十八个免费的舆情网站