mysql主从配置

基于mysqld_multi实现MySQL 5.7.24多实例多进程配置

孤人 提交于 2019-12-01 04:59:41
基于 mysqld_multi实现MySQL 5.7.24多实例多进程配置 MySQL多实例的原理 mysql 多实例,简单理解就是在一台服务器上, mysql 服务开启多个不同的端口(如 3306 、 3307 、 3308 )运行多个服务进程。这些 mysql 服务进程通过不同的 socket 来监听不同的数据端口,进而互不干涉的提供各自的服务。 在同一台服务器上, mysql 多实例会去共用一套 mysql 应用程序,因此你在部署 mysql 的时候只需要部署一次 mysql 程序即可,无需多次部署。但是, mysql 多实例之间会各自使用不同的 my.cnf 配置文件、启动程序和数据文件。在提供服务方面, mysql 多实例在逻辑上看起来是各自独立,互不干涉的,并且多个实例之间是根据配置文件的设定值,来获取相关服务器的硬件资源。 优点如下: 有效利用服务器资源 当单个服务器资源过剩时,可以充分利用剩余的资源来提供更多的服务 节约服务器资源 当公司资金紧张,但数据库又需要数据库之间各自提供服务时,并且还想使用主从同步等技术,此时多实例就再好不过了 方便后期架构扩展 当公司的某个项目才启动时,启动初期并不一定有很大的用户量,因此可以先用一组物理数据库服务器,在上面部署多个实例,方便后续架构扩展、迁移 缺点如下: 资源互相抢占问题 当某个服务实例并发很高或者有慢查询时

Zabbix监控MySQL

半世苍凉 提交于 2019-12-01 04:56:06
Zabbix监控MySQL agent 端 $ vim /usr/local/zabbix/etc/zabbix_agentd.conf # 添加自定义的目录 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf $ cp /usr/local/src/zabbix-3.4.15/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/ $ cd /usr/local/zabbix/etc/ # mysql会去读取里面的配置,这样可以不用在配置中写上用户名和密码 $ vim .my.cnf [mysql] host=localhost user=zabbix password=123456789 socket=/var/lib/mysql/mysql.sock [mysqladmin] host=localhost user=zabbix password=123456789 socket=/var/lib/mysql/mysql.sock    socket 可以通过 find / -name mysql.sock 去找 账号密码需要数据库授权 $ sed -i 's@/var/lib/zabbix@

MySQL主从复制(4)原理画图深入浅出

孤人 提交于 2019-12-01 04:53:52
一、如何实现MySQL主从读写分离     1、通过程序实现读写分离(性能,效率最佳,推荐)     php和java程序都可以通过设置多个连接文件轻松的实现对数据库的读写分离,即当select时,就去连接读库的连接文件,当updata,insert,delete时就连接写库的连接文件。     2、通过软件实现读写分离     MySQL-proxy,Amoeba等代理软件也可以实现读写分离功能, 但最常用好用的还是程序实现读写分离。     3、开发dbproxy 二、主从复制原理图: 三、MySQL主从复制原理过程     1、同步的时候,从库有俩个线程完成IO、SQL线程,主从有一个线程完成IO线程。     2、要在从库上面配置连接主库的IP、用户名、账号、密码、文件的位置、以及pos点等。     3、开启开关之前,要确保主从库是一致的。     4、要在主库上建立专门用于从库同步的账号。     5、主库要打开binlog开关,否则无法实现同步。     6、从库打开开关的过程,其实就是让IO,SQL线程工作的过程 来源: https://www.cnblogs.com/cnxy168/p/11655828.html

MySQL中文件存储形式

别来无恙 提交于 2019-12-01 04:27:21
MySQL中文件存储形式(InnoDB/MyIsam) 与innodb文件格式相关的参数为 innodb_data_file_path 、 innodb_data_file_path 、 innodb_log_group_home_dir 、 innodb_open_files 1、独占表空间 下面进入MySQL数据存放目录,查看使用innodb时MySQL存储文件格式 [root@www ~]# cd /var/lib/mysql/ [root@www mysql]# ls –lrt 总用量 21352 drwx------. 2 mysql mysql 4096 11月 26 2017 test drwx------. 2 mysql mysql 4096 11月 26 2017 mysql -rw-rw----. 1 mysql mysql 765307 11月 26 2017master-bin.000002 -rw-rw----. 1 mysql mysql 19742 11月 26 2017master-bin.000001 -rw-rw----. 1 mysqlmysql 5242880 11 月 26 2017 ib_logfile1 drwx------. 2 mysql mysql 4096 11月 26 2017 testslave -rw-rw----. 1

mysql5.6快速安装及参数详解

前提是你 提交于 2019-12-01 03:07:19
mysql5.6快速安装及参数详解 一、所需软件 软件名称 版本 下载地址 当前环境 管理员账号/密码 mysql 5.6 yum安装 centOS6.7系统 zxfly/zxfly 二、安装说明 数据库所在目录 /database/mysql 新建目录mysql sock文件路径 /var/lib/mysql/mysql.sock 自动生成 配置文件路径 /etc/my.cnf 慢查询日志路径 /var/log/mysql/mysql_slow_query.log 新建mysql日志目录 错误日志路径 /var/log/mysql/mysqld.log pid文件 /var/run/mysqld/mysqld.pid 自动生成 binlog日志文件 /database/mysql-bin/mysql_bin*.log 新建目录mysql-bin 三、安装 1、下载yum源。 官网地址: http://dev.mysql.com/downloads/repo/yum/ centos7系统: wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm centos6系统: wget http://dev.mysql.com/get/mysql57-community-release-el6-7

MySQL配置文件

不想你离开。 提交于 2019-11-30 22:45:43
1 [client] 2 #客户端设置,即客户端默认的连接参数 3 # password = 你的密码 4 port = 3306 5 #默认连接端口 6 socket = /usr/local/mysql/data/mysql.sock 7 #用于本地连接的socket套接字 8 default-character-set = utf8 9 #编码 10 11 [mysqld] 12 #服务端基本设置 13 port = 3306 14 #MySQL监听端口 15 socket = /usr/local/mysql/data/mysql.sock 16 #为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件 17 pid-file = /usr/local/mysql/data/mysql.pid 18 #pid文件所在目录 19 basedir = /usr/local/mysql 20 #使用该目录作为根目录(安装目录) 21 datadir = /usr/local/mysql/database 22 #数据文件存放的目录 23 tmpdir = /usr/local/mysql/data/tmp 24 #MySQL存放临时文件的目录 25 character_set_server = utf8 26 #服务端默认编码(数据库级别) 27 collation

MySQL高负载优化

旧时模样 提交于 2019-11-30 21:51:24
MySQL配置文件优化 [client] port = 3306#客户端端口号为3306 socket = /data/3306/mysql.sock # default-character-set = utf8 #客户端字符集,(控制character_set_client、character_set_connection、character_set_results) [mysql] no-auto-rehash #仅仅允许使用键值的updates和deletes [mysqld] #组包括了mysqld服务启动的参数,它涉及的方面很多,其中有MySQL的目录和文件,通信、网络、信息安全,内存管理、优化、查询缓存区,还有MySQL日志设置等。 user = mysql#mysql_safe脚本使用MySQL运行用户(编译时--user=mysql指定),推荐使用mysql用户。 port = 3306#MySQL服务运行时的端口号。建议更改默认端口,默认容易遭受攻击。 socket = /data/3306/mysql.sock #socket文件是在Linux/Unix环境下特有的,用户在Linux/Unix环境下客户端连接可以不通过TCP/IP网络而直接使用unix socket连接MySQL。 basedir = /application/mysql

mysql-proxy实现读写分离

不羁的心 提交于 2019-11-30 21:47:27
https://www.cnblogs.com/lin3615/p/5684891.html 文章来自整理:http://blog.jobbole.com/94606/ 其中Amoeba for MySQL也是实现读写分离 环境描述: 操作系统:CentOS6.5 32位 主服务器Master:192.168.179.146 从服务器Slave:192.168.179.147 调度服务器MySQL-Proxy:192.168.179.142 由于电脑配置不行,安装了三台虚拟机,就卡死了,只能将就一下,由于是一主 一从,所以,导致读写都在master上,有机会,再弄两台slave来测试 一.mysql主从复制,参考:http://www.cnblogs.com/lin3615/p/5679828.html 二、mysql-proxy实现读写分离 1、安装mysql-proxy 实现读写分离是有lua脚本实现的,现在mysql-proxy里面已经集成,无需再安装 下载:http://dev.mysql.com/downloads/mysql-proxy/ 一定要下载对应的版本 tar zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit.tar.gz mv mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit

现有数据库配置主从同步

谁都会走 提交于 2019-11-30 21:01:44
环境说明 现在测试的架构是主库1的work1和主库2的work2,进行多源复制到从库3中,而且忽略系统库mysql库。 主库操作 从主库导出要同步的数据库 #从主库导出数据库 mysqldump -uroot -p'******' -h10.2.0.5 -P3306 --triggers -R --single-transaction --no-autocommit --master-data=2 -q -e --databases work1 > work1.sql mysqldump -uroot -p'******' -h10.2.0.6 -P3306 --triggers -R --single-transaction --no-autocommit --master-data=2 -q -e --databases work2 > work2.sql 主库上创建同步用户,并授权访问要同步的数据库 #在主库授权,已做过的可以忽略 mysql -uroot -p'******' -h10.2.0.5 -P3306 grant replication slave on *.* to 'rep'@'%' identified by '123123'; mysql -uroot -p'******' -h10.2.0.6 -P3306 grant replication slave

MySQL5.7主从同步配置

雨燕双飞 提交于 2019-11-30 21:00:46
主从同步,将主服务器(master)上的数据复制到从服务器(slave)。 应用场景 读写分离,提高查询访问性能,有效减少主数据库访问压力。 实时灾备,主数据库出现故障时,可快速切换到从数据库。 数据汇总,可将多个主数据库同步汇总到一个从数据库中,方便数据统计分析。 部署环境 ​ 注:使用docker部署mysql实例,方便快速搭建演示环境。但本文重点是讲解主从配置,因此简略描述docker环境构建mysql容器实例。 数据库:MySQL 5.7.x (相比5.5,5.6而言,5.7同步性能更好,支持多源复制,可实现多主一从,主从库版本应保证一致) 操作系统:CentOS 7.x 容器:Docker 17.09.0-ce 镜像:mysql:5.7 主库:IP=192.168.10.212; PORT=3506; server-id=100; database=test; table=user 从库:IP=192.168.10.212; PORT=3606; server-id=110; database=test; table=user 配置约束 主从库必须保证网络畅通可访问 主库必须开启binlog日志 主从库的server-id必须不同 事前准备 关闭selinux setenforce 0 vim /etc/sysconfig/selinux SELINUX=disabled