由于项目以后可能会用到关于数据库备份,主要是用主从复制,来实现数据库的读写分离等功能。在这几天对mysql 的主从配置研究了下,我在电脑上配置了两个mysql 数据,配置还真有点麻烦。。关键还是对mysql 的数据库的了解不够,导致的,闲话不说了,现在开始配置。。
1.首先在本机(Windows)上配置两个数据库。
我下载的是mysql 的noinstall 版本的,安装版的好像要折腾一番,好麻烦,试了下,觉得不爽,就下载免安装版的了。
下载好以后,修改下mysql 的配置文件,把my-small.ini 复制下,改成my.ini,默认端口是3306,就不修改了。然后要开启服务,然后启动服务。开始用cmd 来写命令,后来觉得老是这样太麻烦了,又看了下bat 的语法。随便写了几个简单的bat 脚本。。在调试过程中方便好多。。把这些保存后放在解压后的mysql 根目录下。
(1)安装mysql1 服务
@echo off
bin\mysqld.exe --install mysql1 --defaults-file="D:\mysql5.1\mysql1\my.ini"
PAUSE
(2)移除mysql1 服务
@echo off
bin\mysqld.exe --remove mysql1
PAUSE
(3)启动mysql1服务
@echo off
net start mysql1
PAUSE
(4)停止mysql 1服务
@echo off
net stop mysql1
PAUSE
第二个mysql 的也一样,不过要注意的是,服务名要不一样才行。我起的名是mysql2,而且my.ini 的端口也要不同,我的是3307.
ps:我的两个mysql 是完全隔离的,完全复制两个免安装版本,好像说一个免安装文件就行了,配置路径不同就行了。
遇到问题:在mysql 启动的过程中,遇到了1067 的错误码提示。。我的解决方案是配置下my.ini 增加下面几项,然后重启服务,解决问题。
[mysqld]
#设置basedir指向mysql的安装路径
basedir=D:\mysql5.1\mysql1
datadir=D:\mysql5.1\mysql1\data
还遇到个问题是,初始帐号密码的修改。。可以用cmd 命令行修改。
c:/mysql/mysql1/bin> mysqladmin -u root password newpass
上面在同一台机上安装好了两个mysql 的数据库了。 下面开始配置主从。。
2.mysql数据库主从配置
(1)master 配置
首先,为了复制的安全性,给slave 个专门创建个复制mysql 的帐号,并赋予权限。
CREATE USER 'repl'@'localhost' IDENTIFIED BY 'root';
GRANT REPLICATION ON *.* TO 'repl'@'localhost'
接下来,配置my.ini
#数据库主从配置开始
#本机数据库ID 标示为主
server-id = 1
#二进制需要同步的数据库名
binlog-do-db=yyweb
# Uncomment the following if you want to log updates
#启动二进制日志系统
log-bin=mysql-bin
#数据库主从配置结束
然后重启下mysql1 的服务。然后进入mysql 命令行,输入以下命令查看状态。
mysql> show master status\G
*************************** 1. row **************************
File: mysql-bin.000002
Position: 671
Binlog_Do_DB: yyweb
Binlog_Ignore_DB:
1 row in set (0.00 sec)
(2)slave 配置
首先,配置my.ini
server-id = 2
#从服务器ID号,不要和主ID相同
master-host =127.0.0.1
#指定主服务器IP地址
master-user =repl
#制定在主服务器上可以进行同步的用户名
master-password =root
#密码
master-port =3306
#同步所用的端口
master-connect-retry=60
#断点重新连接时间
replicate-ignore-db=mysql
#屏蔽对mysql库的同步
replicate-do-db=yyweb
#同步数据库名称
然后重启下mysql2 的服务。然后进入mysql 命令行,输入以下命令查看状态。
mysql> show slave status
如果成功的话,可以查看到其中的两列
SLAVE_IO_RUNNING:YES
SLAVE_SQL_RUNNING:YES
如有其中有一列为NO,说明是连接不成功的。则检查下my.ini 的配置。
以下是成功连接后,在master 添加数据后,slave 的状态
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 127.0.0.1
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 671
Relay_Log_File: trye-relay-bin.000008
Relay_Log_Pos: 816
Relay_Master_Log_File: mysql-bin.000002
·········以下省略
遇到问题:开始的时候把master 的用户名密码写错了,查看slave 的状态的时候老是SLAVE_SQL_RUNNING:NO,经过一段时间检查,发现mysql 的日志这东西还真不错。。哈哈。。mysql 的日志文件在data 下面非文件夹。。一个个查看便是。。其中有一个master.info 的文件,记录了该主服务器的信息,还有一些错误日志等,如果有错误信息可以很清楚的看到。
mysql 主从配置完毕,总结一点是,对mysql 的配置文件不熟,以上也是参考网上进行配置的,所以有写具体的问题,未能清楚说明,还有待深入了解mysql 的官方文档。。
分享到:
相关推荐
主要介绍了MySQL5.1主从同步出现Relay log read failure错误解决方法,需要的朋友可以参考下
Mysql5.1.7以上版本主从同步配置方法
推荐运行环境: PHP 5.5+ MySQL 5.1+ ...源码从2007年10月起开始编写,经由2009年改换内核, 由于历史久远,代码质量良莠不一,其核心部分,至今仍有研究价值(主从MYSQL数据库程序设计、分布式内存等)。
#MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器: #safe_mysqld –skip-grant-tables& >mysqld –skip-grant-tables #即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入...
为了避免不必要的麻烦,主从服务器MySQL版本尽量保持一致; 环境:192.168.0.1 (Master) 192.168.0.2 (Slave) MySQL Version:Ver 14.14 Distrib 5.1.48, for pc-linux-gnu (i686) using readline 5.1 1、登录...
配置前的准备: 2台电脑,均安装windows2003 64位。均分三区c,d,e.... cd d:\mysql5.1\bin mysqld install mysql5.1 //安装mysql服务,名称为mysql5.1 3:配置my.ini。其中以下为必须的 default-characte
安装环境 centos 5.4 mysql 5.1.xx 采用rpm直接安装 xtrabackup 1.2.22 采用rpm直接安装 1. Master:/etc/my.cnf [mysqld] server-id = 1 log-bin innodb_flush_log_at_trx_commit=1 sync_binlog=1 datadir=/var/lib/...
安装环境:centos 5.4mysql版本:mysql 5.1.xx 采用rpm直接安装所需软件: xtrabackup 1.2.22 采用rpm直接安装1. Master:/etc/my.cnf 代码如下:[mysqld] server-id = 1log-bin innodb_flush_log_at_trx_commit=1 ...
安装环境 centos 5.4 mysql 5.1.xx 采用rpm直接安装 xtrabackup 1.2.22 采用rpm直接安装 代码如下: [mysqld] server-id = 1 log-bin innodb_flush_log_at_trx_commit=1 sync_binlog=1 datadir=/var/lib/mysql ...
记录了以下五大部分 一、grant用户授权 二、开启mysql bin-log日志 三、mysql主从复制 四、mysql分区技术,仅中mysql5.1之后的版本中支持。 五、mysql性能优化
Inside君整理了一份最新基于MySQL 5.6和5.7的配置文件模板,基本上可以说覆盖90%的调优选项...触发Inside君做这件事情的原因是大部分网络上的MySQL配置文件都非常非常古老,大多都是基于MySQL 5.1的版本,这导致了绝大
9. MySQL 数据库主从架构配置............... 40 10. 使用Binlog 日志快速恢复MySQL 数据...............48 11. MySQL 引擎MyISAM 与InnoDB 讲解.................48 12. MySQL 数据库索引及慢查询讲解.........
MySQL数据主从同步还是要靠MySQL的机制来实现,所以这个时候MySQL主从同步的延迟问题是需要优化,延迟时间太长不仅影响业务,还影响用户体验。 thinkphp核心类Thinkphp/library/Model.class.php 中,query 方法,...
一、下载编译安装 #cd /usr/local/src/ #wget http://mysql.byungsoo.net/Downloads/MySQL-5.1/mysql-5.1.38.tar.gz #tar –xzvf mysql-5.1.38.tar.gz ../software/ #./configure –prefix=/usr/local/mysql //MySQL...
主机:192.168.0.231(A)主机:192.168.0.232(B)MYSQL 版本为5.1.212、授权用户。A:mysql> grant replication slave,file on *.* to ‘repl1’@’192.168.0.232’ identified by ‘123456’;Query OK, 0 rows ...
需要修改mysql的配置文件,本篇的实验环境是win7,配置文件为mysql安装目录\MySQL Server 5.1下的my.ini,添加一句log_bin = mysql_bin即可 eg: [mysqld] ...... log_bin = mysql_bin ...... log_bin是
适合对mysql有一定基础的同学,涉及mysql调优、集群等操作,包含详细的操作步骤和示例代码。 1、性能优化 1.1、Mysql索引底层数据结构与算法 ...5.1、Mysql8.0.17新特性 6、安装集群 6.1、单机版本 6.2、主从复制
1.8 性能测试:mysql5.5与mysql5.1 60 第2章 半同步复制 62 2.1 半同步复制简介 62 2.2 半同步复制安装配置 63 2.3 参数说明 63 2.4 功能测试 64 2.4.1 如何验证半同步复制是否正常工作 64 2.4.2 半同步复制...
MySQL-Internal- mysql source learning from version 5.6 MySQL 主从延迟方案