这种架构一般用在以下三类场景
创新互联公司是网站建设专家,致力于互联网品牌建设与网络营销,专业领域包括网站设计、成都做网站、电商网站制作开发、微信小程序定制开发、微信营销、系统平台开发,与其他网站设计及系统开发公司不同,我们的整合解决方案结合了恒基网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,且不断评估并优化我们的方案,为客户提供全方位的互联网品牌整合方案!
1. 备份多台 Server 的数据到一台如果按照数据切分方向来讲,那就是垂直切分。比如图 2,业务 A、B、C、D 是之前拆分好的业务,现在需要把这些拆分好的业务汇总起来备份,那这种需求也很适用于多源复制架构。实现方法我大概描述下:业务 A、B、C、D 分别位于 4 台 Server,每台 Server 分别有一个数据库来隔离前端的业务数据,那这样,在从库就能把四台业务的数据全部汇总起来,而不需要做额外的操作。那没有多源复制之前,要实现这类需求,只能在汇总机器上搭建多个 MySQL 实例,那这样势必会涉及到跨库关联的问题,不但性能急剧下降,管理多个实例也没有单台来的容易。
2. 用来聚合前端多个 Server 的分片数据。
同样,按照数据切分方向来讲,属于水平切分。比如图 3,按照年份拆分好的数据,要做一个汇总数据展现,那这种架构也非常合适。实现方法稍微复杂些:比如所有 Server 共享同一数据库和表,一般为了开发极端透明,前端配置有分库分表的中间件,比如爱可生的 DBLE。
3. 汇总并合并多个 Server 的数据
第三类和第一种场景类似。不一样的是不仅仅是数据需要汇总到目标端,还得合并这些数据,这就比第一种来的相对复杂些。比如图 4,那这样的需求,是不是也适合多源复制呢?答案是 YES。那具体怎么做呢?
*****************开始使用免安装版的mysql****************
1.到官网下载免安装版并解压
2.将该文件夹改名,放到合适的位置
3.配置环境变量:我的电脑-属性-高级-环境变量-path(将文件夹bin路径放进去)
4.修改配置文件:找到安装文件下的my-default.ini文件(或my.ini文件):
在其中修改或添加配置(如图):
[mysqld]
basedir=C:\Program Files\MySQL\MySQL Server 5.6(mysql所在目录) datadir=C:\Program Files\MySQL\MySQL Server 5.6\data (mysql所在目录\data)
5.以管理员身份运行cmd:
1.输入:cd C:\Program Files\MySQL\MySQL Server 5.6\bin 进入mysql的bin文件夹 ---回车
2.输入mysqld -install ---回车
3.继续在cmd中输入:net start mysql ---回车
4.输入mysql -u root -p(第一次登录没有密码,直接按回车过),登录成功!
6.登录后修改密码:set password for root@localhost = password('新密码');
7.修改中文乱码问题:(这个文件所有需要修改的都没有任何标点符号)
1.拷贝一份 “my-default.ini” 文件
2.重命名为 “my.ini”,接下来我们只需修改my.ini里面的内容就行了
3.在【mysqld】后面添加或修改:
character_set_server=utf8 (注意是【utf8】不是【utf-8】)
4.在【sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES】这句话后面再添加三行:
[client]
port=3306
default-character-set=utf8
5.在【mysqld】后面添加或修改
default-character-set=utf8
*****************/开始使用免安装版的mysql****************
**************************数据库编码问题******************************
查询数据库编码方式:show variables like 'character%';
或者 show variables like '%char%';
修改数据库编码方式:set character_set_results(名字相应变化)=GB2312(编码方式相应变化);
还会出现乱码,可以再输入语句: set names utf8;
***************************/数据库编码问题*****************************
**********************修改密码***********************************
方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql set password for 用户名@localhost = password('新密码');
例子:mysql set password for root@localhost = password('123');
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql use mysql;
mysql update user set password=password('123') where user='root' and host='localhost';
mysql flush privileges; //刷新权限
**********************/修改密码***********************************
1、首先,解压下载的MySql安装包。
2、双击打开解压后的包,点击如图程序。
3、勾选协议,点击next。
4、选择安装类型,点击下一步。
5、设置安装路径。
6、点击install。
7、点击finsh。
8、点击下一步。
9、选择配置类型。
10、根据自己的需求选择配置。
11、勾选第一个,点击next。
12、设置并发量。
13、设置端口。
14、设置字符编码。
15、设置服务器配置。
16、设置账户和密码。
17、点击excute。
18、点击finsh,安装完毕。
你好,mysql -u用户名 -h主机名 -p
前提是服务器的mysql上有该用户,以及对应的IP
可登入mysql服务器上执行
grant all on test.* to 用户名@'客户机IP' identified by '密码' ;
flush privileges; #刷新权限表,让所做修改生效
上面指令的意思是 将test这个数据库的全部内容以及全部的操作权限赋权给从特定IP上登入到本服务器的用户。
1、下载。
2、解压MySQL压缩包
解压到指定目录,D:\Dev\mysql-5.7.11。
3、添加环境变量
在Path中添加 D:\Dev\mysql-5.7.11\bin
4、修改配置文件
将my-default.ini名称改为:my.ini,文件里面的参数配置:
[mysqld]
# 设置mysql的安装目录
basedir=D:\Dev\mysql-5.7.11
# 设置mysql数据库的数据的存放目录,必须是data
datadir=D:\Dev\mysql-5.7.11\data
注意:路径是反斜线,也可以改为两个正斜线,还可以加上双引号!
需要用到集群,负载均衡及mysql
复制(replication);
下面提供一个系统模型你可以参考一下:
集群的结构为一个主MySQL服务器(Master)服务器与多个从属MySQL服务器(Slave)建立复制(replication)连接,主服务器与从属服务器实现一定程度上的数据同步,多个从属服务器存储相同的数据副本,实现数据冗余,提供容错功能。部署开发应用系统时,对数据库操作代码进行优化,将写操作(如UPDATE、INSERT)定向到主服务器,把大量的查询操作(SELECT)定向到从属服务器,实现集群的负载均衡功能。如果主服务器发生故障,从属服务器将转换角色成为主服务器,使应用系统为终端用户提供不间断的网络服务;主服务器恢复运行后,将其转换为从属服务器,存储数据库副本,继续对终端用户提供数据查询检索服务。