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

网站推广只能使用在线手段进行手机商城网站案例

网站推广只能使用在线手段进行,手机商城网站案例,做网站维护挣钱吗,wordpress 添加用户组本文记录了搭建mysql一主二从集群#xff0c;这样的一个集群master为可读写#xff0c;slave为只读。过程中使用了docker#xff0c;便于快速搭建单体mysql。 1#xff0c;准备docker docker的安装可以参考之前基于yum安装docker的文章[1]。 容器相关命令[2]。 查看正在…本文记录了搭建mysql一主二从集群这样的一个集群master为可读写slave为只读。过程中使用了docker便于快速搭建单体mysql。 1准备docker docker的安装可以参考之前基于yum安装docker的文章[1]。 容器相关命令[2]。 查看正在运行的容器 docker ps查看所有容器查看正在运行的和已经停止运行的 docker ps –a docker ps -all查看最后一次运行的容器 docker ps –l查看停止的容器 docker ps -f statusexited创建容器 docker run 参数 镜像名称:镜像标签 /bin/bash-i表示运行容器,如果不加该参数那么只是通过镜像创建容器而不启动。-t表示容器启动后会进入其命令行。加入这两个参数后容器创建就能登录进去。即分配一个伪终端(如果只加it两个参数创建后就会自动进去容器)。-d在run后面加上-d参数,则会创建一个守护式容器在后台运行这样创建容器后不会自动登录容器。--name :为创建的容器命名。-v表示目录映射关系前者是宿主机目录后者是映射到宿主机上的目录可以使用多个v做多个目录或文件映射。注意最好做目录映射在宿主机上做修改然后共享到容器上。-p表示端口映射前者是宿主机端口后者是容器内的映射端口。可以使用多个-p做多个端口映射例如可以将Docker中Tomcat容器的8080端口映射到宿主机上的某一个端口8080那么以后访问tomcat只需要http://宿主机的IP8080/进入容器之后初始化执行的命令/bin/bash可写可不写删除指定的容器 #删除容器 docker rm 容器名称容器ID #删除镜像 docker rmi 镜像ID(镜像名称)2跑起来3台mysql容器 搜索mysql镜像 docker search mysql拉取mysql8镜像 docker pull mysql:8.0.29注意如果防火墙是开启的需要关闭防火墙容器才能启动。 运行3台msyql容器 master docker run -d \ -p 3311:3306 \ -v /usr/local/docker-mount/mysql-master1/conf:/etc/mysql/conf.d \ -v /usr/local/docker-mount/mysql-master1/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD123456 \ --name mysql-master1 \ mysql:8.0.29slave1 docker run -d \ -p 3312:3306 \ -v /usr/local/docker-mount/mysql-slave1/conf:/etc/mysql/conf.d \ -v /usr/local/docker-mount/mysql-slave1/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD123456 \ --name mysql-slave1 \ mysql:8.0.29slave2 docker run -d \ -p 3313:3306 \ -v /usr/local/docker-mount/mysql-slave2/conf:/etc/mysql/conf.d \ -v /usr/local/docker-mount/mysql-slave2/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD123456 \ --name mysql-slave2 \ mysql:8.0.29这样通过docker我们就快速部署了3台mysql容器。 3进入容器搭建集群 进入容器修改root密码。 下面示例的是master容器 docker exec –it mysql-master1 /bin/bash进入容器的bash后通过mysql -uroot -p即可进入mysql的命令行模式。 修改默认密码校验方式 ALTER USER root% IDENTIFIED WITH mysql_native_password BY 123456;slave1、slave2同理修改root密码。 给3台容器配置不同的server-id 我们找到之前容器挂载的conf目录在其中vim my.cnf vim /usr/local/docker-mount/master1/conf/my.cnf[mysqld] # 服务器唯一id默认值1 server-id1 # 设置日志格式默认值ROW binlog_formatSTATEMENTvim /usr/local/docker-mount/slave1/conf/my.cnf[mysqld] # 服务器唯一id每台服务器的id必须不同如果配置其他从机注意修改id server-id2vim /usr/local/docker-mount/slave2/conf/my.cnf[mysqld] server-id3重启3台容器 需要配置的配置文件到此已经结束所以这里需要重新启动mysql容器将修改的配置读取。命令如下最后跟上容器名字或者id即可。 docker restart mysql-master1在主库上创建从库同步账号 在主数据库上, 创建一个允许从数据库来访问的用户账号 用户: master_slave 密码123456 主从复制使用 REPLICATION SLAVE 赋予权限 -- 创建slave用户 CREATE USER master_slave%;-- 设置密码 ALTER USER master_slave% IDENTIFIED WITH mysql_native_password BY 123456;-- 授予复制权限 GRANT REPLICATION SLAVE ON *.* TO master_slave%;-- 刷新权限 FLUSH PRIVILEGES;锁住主库记住master_log_pos 主库的bin log需要同步到从库的中继日志relay log中。bin log是一种记录了mysql所有DDL DML语句的二进制日志文件而relay log从bin log接收了DDL DML语句后在从库上执行得到与主库相同的数据。因此在搭建的时候主库不能再接受数据以免造成数据的不一致。 锁住主库在master1上执行如下命令 -- 执行以下命令锁定数据库以防止写入数据。 FLUSH TABLES WITH READ LOCK;在主机查看mater状态 show master status;在从库上change master 在2台从库上执行如下命令 CHANGE MASTER TO MASTER_HOST192.168.184.129, MASTER_USERmaster_slave,MASTER_PASSWORD123456, MASTER_PORT3311, MASTER_LOG_FILEbinlog.000003,MASTER_LOG_POS1345;注意MASTER_HOST、MASTER_PORT为主库的ip和端口容器映射出来的端口如我的这个是3311前面申请的用来同步的用户和密码以及最重要的MASTER_LOG_FILE和MASTER_LOG_POS这2个需要在主库锁住之后执行show master status查看并填入对应的数值如果对应不上就会在SQL线程上出现问题进而无法主从同步、 开启主从 start slave;查看从库状态看看pos和file和主库是否一致 show slave status\G;如果一切正常到了这里已经主从同步了可以在主库上尝试建表插数据并且在从库上读看看能否读到。 如果读不到看看slave的IO_RUNNING和SQL_RUNNING是否为NO。如果是NO那就是有问题可以看接下来的踩坑记录或者show slave status给出的结果中有一些信息提示如error或state可以仔细观察下也许能发现一些线索。 如果正常的话最后不要忘记回到主库把锁解掉 unlock tables;安装过程中的踩坑 在安装的过程中踩了不少的坑记录如下。 1挂载不要挂错。 有一些可能是docker挂载的时候没挂对导致数据出现混乱这个我建议大家最好还是在执行复杂命令之前把命令记下来反复核对没问题再执行。 2IO为NO 我遇到了这个问题排查出是这个slave的server-id没有配置无法识别这个slave所以无法进行IO. 3SQL为NO 问题到了这里就开始比较复杂了。SQL线程跑不起来可能有很多的原因一般比较常见的就是pos没对上解决方法如下 mysql slave stop; mysql set GLOBAL SQL_SLAVE_SKIP_COUNTER1; mysql slave start;或者在slave上手动同步一次。 stop slave; CHANGE MASTER TO MASTER_HOST192.168.184.129, MASTER_USERmaster_slave,MASTER_PASSWORD123456, MASTER_PORT3311, MASTER_LOG_FILEbinlog.000003,MASTER_LOG_POS1345;start slave;如果还是解决不了的话可以重新开始生成主库的binlog和从库的relay log。 -- 在从机上执行。功能说明用于删除SLAVE数据库的relaylog日志文件并重新启用新的relaylog文件。 reset slave;-- 在主机上执行。功能说明删除所有的binglog日志文件并将日志索引文件清空重新开始所有新的日志文件。 -- 用于第一次进行搭建主从库时进行主库binlog初始化工作 reset master;我这里当时忘记了reset master/slave所以我直接把挂载目录清空并重新做了个容器解决了问题。 过程中还尝试过直接启动sql线程失败因为有问题所以起不来再次重启当然也起不来毕竟问题还在那儿。 start slave sql_thread;查看error_log在mysql中执行如下命令 show variables like %log_error%;但是发现mysql容器是直接把错误输出在控制台可是我没有看到error输出啊于是去slave的挂载目录的my.cnf中指定了一下error_log路径。 [mysqld] server-id2 log-error/var/log/mysqld.log但是发现error log中还真的是没有error只有2个无关紧要的warning于是这条路走失败了。 后来分析很有可能就是relay log的问题reset slave也许就能直接解决问题。 参考资料 [1]【Docker】基于yum安装docker [2]mycat应用与实战教程
http://www.hkea.cn/news/14550676/

相关文章:

  • wordpress开发的网站有哪些wordpress内页关键词
  • 东直门小学的网站建设黄页推广网站下载
  • 上海建站网站万网网站价格
  • 黑红网站模板seo基本步骤顺序
  • 移动网站建设哪家快做外贸网站有什么用
  • 天津建设网站的公司自己做一个微信小程序需要多少钱
  • 音乐网站开发如何免费建购物网站
  • 建设部职称证书查询官方网站云南搜索引擎优化
  • 做短租类型的网站网站正在建设中色无夜
  • 网页设计感十足的网站wordpress柒比贰
  • 网站开发时间计划表免费应用软件下载
  • 无锡网站建设公司怎么样图库
  • 旅游网站设计页面wordpress改了固定连接
  • 网站建设制度制定情况网页制作工具按其制作方式分为
  • 企业网站需求分析wordpress 删除 分类存档
  • 东莞h5网站开发app开发公司怎么找到需要定制的客户
  • 河北网站seo网站免费正能量直接进入浏览器下载安装
  • 用nas做网站服务器腾讯会议多少钱一个月
  • 站长之家网站网站 建设在作用是什么
  • 山东品牌建设网站wordpress小说站主题
  • 单页应用网站自己在线制作图片免费下载
  • 广州市公司网站建设域名查询工具
  • 贺州网站seowordpress树洞外链主题
  • 网站套餐网站开发时间段
  • 网站集约化建设优势腾讯微信朋友圈广告代理
  • 网站开发的现状.net 开源 企业网站
  • 昆明网站建设注意事项做网站经营流量
  • 网站建设实践心得体会展馆展厅设计
  • 泰安网站建设广告江苏建设人才网证书查询电子证书
  • 蓝色 网站建德网站