1. 主从模式:
    mysql主从架构中其实就一个主在工作,而从就相当于一个备份机器,从通过日志监测的方式来备份主库上的数据而保证主库的数据安全。

  2. 主主模式:
    主主复制,就是在mysql主从架构上让mysql主实现监测从的日志变化,从而实现两台机器相互同步。

  3. 多主多从模式:
    MMM 即Master-Master Replication Manager for MySQL(mysql 主主复制管理器)
    Percona XtraDB Cluster

Docker 部署 HAProxy Mysql集群方案图

这里写图片描述

第一步:准备配置文件和存储文件夹

vito@caas:/opt2/mysql$ ls -al
总用量 24
drwxr-xr-x 2 root root 4096 625 10:08 haproxy
drwxr-xr-x 2 root root 4096 625 10:02 logs
drwxrwxrwx 6 root root 4096 625 11:02 mysql1
drwxrwxrwx 6 root root 4096 625 11:02 mysql2vito@caas:/opt2/mysql$ cd mysql1
vito@caas:/opt2/mysql/mysql1$ ls -al
总用量 24
drwxr-xr-x 2 root         root   4096 625 10:52 backup
drwxr-xr-x 2 root         root   4096 625 10:52 conf.d
drwxr-xr-x 6 guest-gkd7rd docker 4096 625 15:52 data
drwxrwxrwx 2 root         root   4096 625 14:26 log

分别对文件夹说明:

  • backup:存放初始化脚本
  • conf.d : 存放mysql配置文件
  • data : 存放mysql数据文件
  • log : 存放日志文件
    以上文件设置权限 999:999,创建两个配置文件:
    /opt2/mysql/mysql1/conf.d/server1.cnf
[mysqld]server-id = 101log_bin = /var/log/mysql/mysql-bin.logbinlog_do_db = mydatabind-address = 0.0.0.0 # make sure to bind it to all IPs, else mysql listens on 127.0.0.1character_set_server = utf8collation_server = utf8_general_ci[mysql]default_character_set = utf8

/opt2/mysql/mysql2/conf.d/server2.cnf

[mysqld]
server-id = 102 # Remember this is only Integer per official documentation
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = mydata
bind-address = 0.0.0.0 # make sure to bind it to all IPs, else mysql listens on 127.0.0.1
character_set_server = utf8
collation_server = utf8_general_ci
[mysql]
default_character_set = utf8

创建用户replicator,密码repl1234or,授权该用户访问任何IP,grantt可以授权某个用户访问指定的ip地址,我们这里的设置是该用户访问任何ip。下面采用脚本的方式实现
/opt2/mysql/mysql1/backup/initdb.sql

use mysql;
create user 'replicator'@'%' identified by 'repl1234or';
grant replication slave on *.* to 'replicator'@'%';
# do note that the replicator permission cannot be granted on single database.
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
SHOW VARIABLES LIKE 'server_id';

创建用户replicator,密码repl1234or,授权该用户访问任何IP,下面采用脚本的方式实现
/opt2/mysql/mysql2/backup/initdb.sql

use mysql;
create user 'replicator'@'%' identified by 'repl1234or';
grant replication slave on *.* to 'replicator'@'%';
# do note that the replicator permission cannot be granted on single database.
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
SHOW VARIABLES LIKE 'server_id';

登录mysql,查看bin-log日志是否开启,确认是开启状态,如下:

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.01 sec)

第二步:使用配置文件启动mysql

启动mysql1
注意其中的挂载目录,挂载了我们自己定义的配置文件

docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=mysqlpass -e MYSQL_DATABASE=mydata -dit -p 33061:3306 -v /opt2/mysql/mysql1/conf.d:/etc/mysql/mysql.conf.d/   -v /opt2/mysql/mysql1/data:/var/lib/mysql -v /opt2/mysql/mysql1/log:/var/log/mysql -v /opt2/mysql/mysql1/backup:/backup -h  mysql1 mysql

启动mysql2
注意其中的挂载目录,挂载了我们自己定义的配置文件

docker run --name mysql2 --link mysql1 -e MYSQL_ROOT_PASSWORD=mysqlpass -e MYSQL_DATABASE=mydata -dit -p 33062:3306 -v /opt2/mysql/mysql2/conf.d:/etc/mysql/mysql.conf.d/   -v /opt2/mysql/mysql2/data:/var/lib/mysql -v /opt2/mysql/mysql2/log:/var/log/mysql -v /opt2/mysql/mysql2/backup:/backup -h  mysql2 mysql

第三步:连接两个docker容器

因为容器重启后ip地址会改变,我们采用修改hosts文件的方式来链接两个容器:

# 提取容器mysql2的ip地址mysql2ip=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' mysql2)# 添加mysql2的ip到mysql1中的hosts文件中docker exec -i mysql1 sh -c "echo '$mysql2ip  mysql2  mysql2' >> /etc/hosts"# 确认上面的命令是否成功执行
docker exec -i mysql1 sh -c "cat /etc/hosts"# 确认容器是否链接成功
docker exec -ti mysql2 sh -c "ping mysql1"
docker exec -ti mysql1 sh -c "ping mysql2"

能ping通,说明两个容器链接成功

第四步:初始化mysql脚本

执行mysql1的初始化脚本,在bakup文件夹下:

vito@caas:/opt2/mysql/mysql1$ docker exec -ti mysql1 sh -c "mysql -uroot -p"
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21-log MySQL Community Server (GPL)Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> source /backup/initdb.sql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
Query OK, 0 rows affected (0.00 sec)Query OK, 0 rows affected (0.00 sec)Query OK, 0 rows affected (0.00 sec)+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 |      154 | mydata       |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 101   |
+---------------+-------+
1 row in set (0.00 sec)

上面的 File | Position两个字段后面有用,在下一步中MASTER_LOG_FILE,MASTER_LOG_POS是这里查询出来的结果.。
同样在容器mysql2中执行初始化脚本,步骤同上:

vito@caas:~$ docker exec -ti mysql2 sh -c "mysql -uroot -p"
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21-log MySQL Community Server (GPL)Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> source /backup/initdb.sql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
Query OK, 0 rows affected (0.00 sec)Query OK, 0 rows affected (0.00 sec)Query OK, 0 rows affected (0.00 sec)+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 |      154 | mydata       |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 102   |
+---------------+-------+
1 row in set (0.00 sec)

第五步:执行同步命令

在容器mysql1中,登录mysql,执行如下语句

stop slave;
CHANGE MASTER TO MASTER_HOST = 'mysql2', MASTER_USER = 'replicator',MASTER_PASSWORD = 'repl1234or', MASTER_LOG_FILE = 'mysql-bin.000003',MASTER_LOG_POS = 154;
start slave;

在容器mysql2中,登录mysql,执行如下语句:

stop slave;
CHANGE MASTER TO MASTER_HOST = 'mysql1', MASTER_USER = 'replicator',MASTER_PASSWORD = 'repl1234or', MASTER_LOG_FILE = 'mysql-bin.000003',MASTER_LOG_POS = 154;
start slave;

查看slave状态:

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: mysql1
                  Master_User: replicator
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 154
               Relay_Log_File: mysql2-relay-bin.000002
                Relay_Log_Pos: 320
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 

Slave_IO_Running: Yes, Slave_SQL_Running: Yes 两个yes表示设置成功。

第六步:准备日志收集容器

docker pull voxxit/rsyslog
docker run --name haproxy-logger -dit -h haproxy-logger -v /opt2/mysql/logs:/var/log/ voxxit/rsyslog

第七步:准备HAProxy 容器

准备配置文件,配置文件目录:
/opt2/mysql/haproxy/haproxy.cfg

globallog haproxy-logger local0 notice# user haproxy# group haproxy
defaultslog globalretries 2timeout connect 3000timeout server 5000timeout client 5000
listen mysql-clusterbind 0.0.0.0:3306mode tcp#option mysql-check user haproxy_check  (This is not needed as for Layer 4 balancing)option tcp-checkbalance roundrobin# The below nodes would be hit on 1:1 ratio. If you want it to be 1:2 then add 'weight 2' just after the line.server mysql1 mysql1:3306 checkserver mysql2 mysql2:3306 check
# Enable cluster status
listen mysql-clusterstatsbind 0.0.0.0:8080mode httpstats enablestats uri /stats realm Strictly\ Privatestats auth status:keypas5

启动HAProxy容器:

docker run --name mysql-cluster -dit \-h mysql-cluster \--link mysql1:mysql1cl  --link mysql2:mysql2cl \--link haproxy-logger:haproxy-loggercl \-v /opt2/mysql/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro \-p 33060:3306 -p 38080:8080 \haproxy:latest

第八步:确认容器是否工作正常

caas:~$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                              NAMES
c56801d6401a        haproxy:latest      "/docker-entrypoin..."   2 hours ago         Up 2 hours          0.0.0.0:33060->3306/tcp, 0.0.0.0:38080->8080/tcp   mysql-cluster
4831e91d8eb3        voxxit/rsyslog      "rsyslogd -n"            2 hours ago         Up 2 hours          514/tcp, 514/udp                                   haproxy-logger
00d99d4acba1        mysql               "docker-entrypoint..."   3 hours ago         Up 2 hours          0.0.0.0:33062->3306/tcp                            mysql2
10c54e299b01        mysql               "docker-entrypoint..."   3 hours ago         Up 3 hours          0.0.0.0:33061->3306/tcp                            mysql1

如果四个容器工作正常,说明服务启动正常。
登录mysql1,创建表格,命令如下:

vito@caas:~$ docker exec -ti mysql2 sh -c "mysql -uroot -p"
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21-log MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> CREATE TABLE IF NOT EXISTS `mydata`.`user` (->  `user_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '',->  `user_name` VARCHAR(45) NOT NULL COMMENT '',->  `user_age` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '',->  `user_sex` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '',->  PRIMARY KEY (`user_id`))->  ENGINE = InnoDB->  AUTO_INCREMENT = 1->  DEFAULT CHARACTER SET = utf8->  COLLATE = utf8_general_ci->  COMMENT = '';
Query OK, 0 rows affected (0.03 sec)mysql> show tables;
+------------------+
| Tables_in_mydata |
+------------------+
| hello            |
| mytest           |
| user             |
+------------------+
3 rows in set (0.00 sec)

创建表格的mysql命令如下:

CREATE TABLE IF NOT EXISTS `mydata`.`user` (`user_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户编号',`user_name` VARCHAR(45) NOT NULL COMMENT '用户名称',`user_age` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户年龄',`user_sex` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户性别',PRIMARY KEY (`user_id`))ENGINE = InnoDBAUTO_INCREMENT = 1DEFAULT CHARACTER SET = utf8COLLATE = utf8_general_ciCOMMENT = '用户表';

用golang写的一个程序,链接一下数据库,测试一下是否正常,golang源代码如下:

package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql"
)func main() {insert()
}//插入demo
func insert() {//db, err := sql.Open("mysql", "root:@/test?charset=utf8")db, err := sql.Open("mysql", "root:mysql1pass@tcp(127.0.0.1:33060)/mydata?charset=utf8")checkErr(err)stmt, err := db.Prepare(`INSERT user (user_name,user_age,user_sex) values (?,?,?)`)checkErr(err)res, err := stmt.Exec("liu", 30, 2)checkErr(err)id, err := res.LastInsertId()checkErr(err)fmt.Println(id)
}

执行该程序,分别登录mysql1和mysql2数据库查看结果:
发现两个数据库可以同步

mysql> select * from user;
+---------+-----------+----------+----------+
| user_id | user_name | user_age | user_sex |
+---------+-----------+----------+----------+
|       1 | tony      |       20 |        1 |
|       2 | liu       |       30 |        2 |
|       3 | liu       |       30 |        2 |
+---------+-----------+----------+----------+

经过测试,停掉一个mysql2,仍然执行插入操作,能够正常插入,不会报错,再重新启动mysql2以后,继续插入,两个数据库数据完美同步。

参考:https://vnextcoder.wordpress.com/2016/09/22/haproxy-mysql-cluster-on-docker/
参考:https://vnextcoder.wordpress.com/2016/09/19/mysql-master-master-replication-setup-on-docker/
参考:https://blog.csdn.net/chengxuyuanyonghu/article/details/71136172

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 单节点k8s的一个小例子 webapp+mysql

    安装kubernetes 准备一台centos7 1) 关闭firewalld 和 selinux systemctl stop firewalld systemctl disable firewalld setenforce 0 2)安装etcd和kubernetes yum install -y etcd kubernetes 3)修改配置文件 vi /etc/sysconfig/docker 将--selinux-enabled 改为 …...

    2024/5/4 20:57:51
  2. phpMyAdmin解决Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";

    真是受够了,百度问题出来的解决方案各种抄袭。 首先明确解决方法两个 (1)要么ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock (2)要么在etc/my.cnf里修改 结果我两个都不行,第一个方法还是报错,第二个方法mysqld启动不起来。 (如果你跟我一样那么很可能是phpMyAdmin配置错…...

    2024/5/4 18:01:15
  3. MySQL主从介绍

    MySQL主从介绍•MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的•MySQL主从是基于binlog的,主上须开启binlog才能进行主从。复制的基本过程如下:1)、Slave上面的IO_thread连接上Master,并…...

    2024/5/4 21:02:52
  4. mysql报错的“Table 'mysql.servers' doesn't exist”的解决方法

    原文:http://www.weiruoyu.cn/?p=571 刷新时提示错误mysql> flush privileges;ERROR 1146 (42S02): Table mysql.servers doesnt exist解决方法一,自己建立这张表。use mysql;CREATE TABLE `servers` (`Server_name` char(64) NOT NULL,`Host` char(64) NOT NULL,`Db` ch…...

    2024/5/4 16:40:55
  5. ubuntu 14.04 安装 mysql-server 及 可能出现的问题(Unknow job: mysql)和解决办法

    一、安装mysql在终端键入如下命令: (sudo) apt-get install mysql-server 安装过程中,会出现 configuration 界面,提示用户设置 MySQL root user 的密码。如果安装成功, MySQL server 会自动启动。通过在终端键入如下命令, 查看 MySQL server 是否正在运行(sudo) netstat …...

    2024/5/3 2:32:43
  6. MySQL同一台机器安装两个服务

    最近需要在一台电脑上安装两个Mysql服务,需求稍微有些奇怪,但确实很必要。本人原本为了本机测试WordPress装了一个Mysql,但最近又要修改一个网站,做完了就要删掉的。为了配置方便,也防止数据错乱,就有必要再添加一个Mysql服务。好了,下面开始配置吧: 1. 到这里下载Mysq…...

    2024/4/25 12:16:23
  7. 通过docker连接mysql

    通过docker连接mysql: cs202@cs202-devbox:~$ sudo docker run -it --link mysql --rm mysql sh -c exec mysql -h "172.17.0.3" -P3306 -uroot -pwwwwww mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL …...

    2024/4/26 20:16:28
  8. PHP+Apache+mysql网站环境搭建

    PHP+Apache+mysql网站环境搭建前期准备需要准备相关安装包Apache:一个web服务器,类似于windows环境下的IIS服务器;Php:用来解析使用php语言编写的网页程序,使网页呈现为html页面;Mysql数据库,存储网站数据用的;phpMyAdmin:数据库管理软件,主要便于操作mysql用的;wordpre…...

    2024/5/1 14:40:42
  9. 史上最详细的WordPress安装教程(五):安装phpMyAdmin

    官网下载安装包官网地址为 https://www.phpmyadmin.net/,点击 Download,可以跳转到安装包下载界面。选择下载历史版本,也可以下载最新版本,最新版本在右上角有按钮,可直接下载。历史版本可通过点击Download按钮,寻找历史版本下载页面。经过一系列查找,历史页面下载地址为…...

    2024/5/2 5:37:27
  10. MySQL日常问题

    2018.11.62018.10.15message from server: "Too many connections" ##超过最大连接数[mysqld] port=3306 basedir = /usr/local/mysql datadir = /data/data socket = /tmp/mysql.sock secure_file_priv=/tmp/ max_connections=1000 ##设置最大连接数,不要加set-…...

    2024/4/26 1:47:04
  11. Docker配置Mysql主从配置实战

    Docker中的mysql是单机配置,没有定时备份数据,万一如果docker被删除了,单机的数据丢失了,数据没有安全保障,所以利用Mysql的主从配置,提高Mysql的数据安全和高可用,并且配置Mysql的主从,后面可以利用读写分离进一步提高程序的性能和效率前言: 如果是新创建Mysql服务器…...

    2024/5/2 13:57:46
  12. MySQL 主从 个人理解

    MySQL主 从 简介 mysql 主从这里指的是: mysql的主服务器和从服务器 为什么要有主从之分,mysql服务器是存放重要的数据的位置,用一台数据库来存放数据,若此数据库宕机了导致数据丢失了,严重的会直接影响业务,用户无法访问等问题,造成灾难性的后果,这之类问题都是安全…...

    2024/4/27 6:48:00
  13. 让IE9以下也支持CSS3圆角属性

    为什么80%的码农都做不了架构师?>>> 如果要想在IE浏览器中实现圆角的效果,我们一般都会采用圆角图片的方式。用图片的话,基本就跟浏览器没有多大关系了,因为任何浏览器都支持这种方式,值得注意的是,IE6/7/8这三个IE浏览器版本都不支持CSS 3的解析,只有还不太…...

    2024/4/25 21:45:57
  14. VPS服务-Docker搭建个人博客网站

    容器安装 本人购买的 VPS 服务器是 Centos 8 操作系统,为了基于 Docker 搭建 WordPress 个人博客网站,首先需要安装 Docker 环境的过程如下: 1、下载 docker-ce 的 repo: curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.re…...

    2024/5/3 15:15:59
  15. php镜像搭建

    准备工作:****************************************dockerfile:FROM centos:6MAINTAINER chkRUN yum install -y httpd php php-gd php-mysql msql mysql-serverENV MYSQL_ROOT_PASSWORD 111332RUN echo "<?php phpinfo()?>" > /var/www/html/index.php…...

    2024/5/4 17:26:55
  16. web2.0专家博客

    专 家 简 介 地 址Dion Hinchcliffe 社会媒体研究者,Web 2.0 业界著名观察家,ZDNet著名专栏作家 http://web2.socialcomputingmagazine.com/Tim Oreilly OReilly & Associates的创始人和总裁 http://radar.oreilly.com/tim/David Heinemeier Hansson 狂热的天才程序员,R…...

    2024/4/26 11:20:22
  17. 2010年Web2.0市场值得关注的5个新领域

    网易科技讯 1月11日消息,据国外媒体报道,毫无疑问,2009年对刚成立的公司来说是非常艰苦的一年,但是许多新成立的公司对2010年充满着期待,特别是风险投资者们又开始敞开他们的钱袋对企业进行投资,这对新成立的公司来说是个利好的消息。在Web2.0市场中有五个崭新的领域值得…...

    2024/4/25 1:32:00
  18. 前台页面新增提交保存后台

    前台填写数据提交保存后台数据库 如图所示基本表单框架 <form action="<%=basePath%>guanli/jianyanxiancesave.do" name="Form" id="Form" method= "post" ><div id="zhongxin" style="padding-…...

    2024/4/27 13:16:50
  19. 如何做WP的登录/注册功能

    2019独角兽企业重金招聘Python工程师标准>>> 首先我要做的效果如下 思路一:page 在WP里Page是最基本的东西,你第一想法肯定是用Page来做登录注册。但是登录注册其实是不太适合用Page来做,关于login screen/splash screen的分析,且看这篇著名博文Introducing th…...

    2024/4/29 11:51:00
  20. Android实现利用手势完成屏幕密码锁功能

    画笔屏幕锁小程序 1.如果使用GestureOverlayView,在xml配置文件中使用android.gesture.GestureOverlayView,否则会报ClassNotFoundException 2.关于判断MEDIA_MOUNTED,API的解释:getExternalStorageState() returns MEDIA_MOUNTED if the media ispresent and mounted at it…...

    2024/5/1 17:56:39

最新文章

  1. 对命令模式的理解

    目录 一、场景1、文本编辑器并不是一个好的例子&#xff0c;设备控制器才是2、设备控制器的demo 二、不用命令模式1、代码2、问题 三、使用命令模式1、代码2、当需求变化时2.1 新增代码2.2 优点 四、进一步思考1、省略对Command的建模可以吗&#xff1f;2、命令模式的价值 一、…...

    2024/5/4 21:16:11
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 微信小程序的页面交互2

    一、自定义属性 &#xff08;1&#xff09;定义&#xff1a; 微信小程序中的自定义属性实际上是由data-前缀加上一个自定义属性名组成。 &#xff08;2&#xff09;如何获取自定义属性的值&#xff1f; 用到target或currentTarget对象的dataset属性可以获取数据 &#xff…...

    2024/5/1 13:38:59
  4. 2024 年高效开发的 React 生态系统

    要使用 React 制作应用程序&#xff0c;需要熟悉正确的库来添加您需要的功能。例如&#xff0c;要添加某个功能&#xff08;例如身份验证或样式&#xff09;&#xff0c;您需要找到一个好的第三方库来处理它。 在这份综合指南中&#xff0c;我将向您展示我建议您在 2024 年使用…...

    2024/5/4 18:17:25
  5. 对于布局的见解

    position: absolute;元素的宽度变为content的宽度,这是与position:relative(100%)不同的地方,若要呈现为100%, 有两个方法: 1.直接设置 width:100% 2.设置left:0px right:0px; 布局参看http://www.zhangxinxu.com/study/201010/mini-blog-no-width.html 采用无宽度布局…...

    2024/5/4 14:23:28
  6. 不同浏览器中网页内容高度取值

    原文地址:http://www.alisdn.com/wordpress/?p=1700关于浏览器的clientHeight、offsetHeight和scrollHeight在IE、FireFox、Netscape等不同的浏览器里,对于document.body 的 clientHeight、offsetHeight 和scrollHeight 有着不同的含义,比较容易搞混,现整理一下相关的内容…...

    2024/4/28 5:01:39
  7. 在网页中使用SVG技术

    在网页中使用SVG技术分享:0可缩放矢量图形(SVG)是矢量图形家族的一部分。相比其他光栅图形(JPEG、GIF 和 PNG),SVG 图形具有更多的优势。本文将探讨 SVG 图形的基本概念和在 HTML5 中的使用。学习绘制、过滤器、渐变、文本和将 SVG XML 添加到网页。 简介 可缩放矢量图形…...

    2024/4/28 18:58:36
  8. 瀑布流布局实现的三种方式

    瀑布流布局的特点? 答:首先,是图片的宽度固定,图片的长度不一样。其次,是当页面滚动时 ,会再次加载数据,动态的渲染在页面上。瀑布流布局的原理? 首先,获取图片的固定的宽度W,网页body的clientWidth 其次,获取在你的版面中显示多少列图片。cols = clientHeight / W;…...

    2024/5/1 15:08:20
  9. 移动web图片高度自适应的解决方案

    由于图片的加载是在dom加载完成之后进行的,于是,在手机端浏览网页时,经常会看到页面刚打开时很多内容叠在一起,当图片加载完成后,页面会由于图片加载完成出现明显的抖动针对这个问题,有以下几种解决方案媒体查询+px rem vm padding 媒体查询+px@media screenand(max - wi…...

    2024/4/30 5:31:04
  10. 网页布局之》》》》弹性盒子》》》

    网页弹性盒子》》》》box-flex 属性 按比例占据父元素的尺寸。1,(纵向)水平方向的弹性布局:先给其父元素设置样式为弹性盒子display:box; #father{ display:-webkit-box; display: box;}》》》》》》》子元素(div或盒子)默认是纵向挨着排列的,。》》》》》》定义两个可…...

    2024/5/2 0:25:03
  11. 在xcode中格式化代码

    1. 安装homebrew/usr/bin/ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"2. 安装uncrustifybrew install uncrustify3. 下载配置好的workflow包http://by-igotit.com/wordpress/wp-content/uploads/2012/03/Uncrustify-Objective-C.workflow.tar.gz4. 解…...

    2024/5/3 16:21:53
  12. css content

    before after demo 1 添加描述信息div1:after{conent:"天假额外的文字"}2 也可以显示元素的某些属性<a class="div1" href="http://www.baidu.com"></a>div1:after{ content:attr(href)}注意:当使用attr()获取标签属性名的时候,千…...

    2024/4/28 2:33:44
  13. web PC分页功能实现。动态加载数据列表并分页

    1.最终效果图展示:2.代码截图:3.代码文字:<!DOCTYPE HTML> <HTML><head> <meta charset="utf-8"> <meta name="keywords" content="分页教程"> <meta name="description" content="CSDN平…...

    2024/4/30 20:50:13
  14. 周末作业

    ```<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Polp360首页</title> <link rel="stylesheet" type="text/css" href="css/reset.css">…...

    2024/4/28 23:52:18
  15. 提高JavaScript性能的30个技巧

    今天我们来看看 JavaScript,这项神奇而又复杂的技术。它使网站内容更加丰富,但常常出现的运行性能问题又降低了用户的体验。事实已经证明,最佳的终端用户体验能提升网站的转换率、Google搜索排名以及访问者的满意度。高性能的JavaScript意味着会给您和您的公司带来更多更好的…...

    2024/4/28 1:20:12
  16. PHP 性能分析第三篇: 性能调优实战

    注意:本文是我们的 PHP 性能分析系列的第三篇,点此阅读 PHP 性能分析第一篇: XHProf & XHGui 介绍 ,或 PHP 性能分析第二篇: 深入研究 XHGui 。 在本系列的 第一篇 中,我们介绍了 XHProf 。而在 第二篇 中,我们深入研究了 XHGui UI, 现在最后一篇,让我们把 XHProf …...

    2024/4/29 0:17:40
  17. 读《软星七年》有感

    看完这篇好友推荐的文章,一口气细读下来,心中时而豪气激昂,时而酸痛万分,真是感慨良多,只知道现在心中有说不完的话。。。 "...8月3日,北京举行《仙四》首发签售活动,张毅君如约到场。活动中,一位玩家表示愿意出钱捐助上海软星,支持《仙剑》的研发,被婉拒后,他…...

    2024/4/28 19:11:29
  18. Docker命令行

    Docker命令行(sudo)Docker容器命令行1.查看Docker服务是否正常2.运行容器(docker run -i -t 镜像名称 命令代码)3.使用容器4.查看当前系统中存在的容器:5.容器命名6.启动已停止的容器7.进行容器内部命令行8.创建守护式容器(长期运行的容器)9.查看容器日志10.查看容器内进…...

    2024/4/27 21:14:28
  19. 利用qemu写mips汇编程序控制malta显示器

    hello world不会写,先玩玩malta虚拟器上的跑马灯,就是qemu起来后ctrl+atl+5切换出来那个,安装debian mips版本后会有个"LINUX ON MALTA"在那一直循环。参考之前的文章,windows和linux下都有qemu,gnu的交叉编译工具也都有,所以两个平台应该都能跑。本文参考了:…...

    2024/4/29 11:53:38
  20. Redis 常见面试题整理

    1 什么是 Redis?简述它的优缺点?Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出…...

    2024/4/27 23:06:58
  21. Redis 常见面试题

    今天跟大家分享下Redis 常见面试题的知识。 1 什么是 Redis?简述它的优缺点? Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行…...

    2024/4/29 2:38:01
  22. OneAPM大讲堂 | 提高JavaScript性能的30个技巧

    文章系国内领先的 ITOM 管理平台供应商 OneAPM 编译呈现。 您是网站管理员还是网页开发人员?想创建超快速的网站吗? 今天我们来看看 JavaScript,这项神奇而又复杂的技术。它使网站内容更加丰富,但常常出现的运行性能问题又降低了用户的体验。事实已经证明,最佳的终端用户体…...

    2024/4/28 1:29:09
  23. 面试之Redis

    什么是 Redis?简述它的优缺点? Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。 因为是纯内存操作,Redis 的性能非常…...

    2024/5/3 0:03:58
  24. 读完这46道Redis面试题之后,你就会觉得自己的Redis白学了

    前言今天跟大家分享下Redis 常见面试题的知识,总共46道,希望大家能够喜欢。1 什么是 Redis?简述它的优缺点?Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作…...

    2024/5/1 19:48:16
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57