Linux 下实现Mysql主从

关于mysql的安装前面的文章已经写到,这里不就再说了

这里首先要创建一个你要同步的数据库作为测试用

首先再master上创建一个备份账户 这里创建的账户为repl %表示任意地址的repl用户均可登入master主库

GRANT REPLICATION SLAVE ON *.* TO ‘repl ‘@‘%‘ IDENTIFIED BY ‘[email protected]‘;

GRANT ALL PRIVILEGES ON *.* TO ‘repl‘@‘%‘ IDENTIFIED BY ‘[email protected]‘ WITH GRANT OPTION;

从库机器上连接主库命令  mysql -h IP地址 -uroot -p ;  测试从库连接主库,如无法连接,进行授权解决

(这里我使用第一个账户授权时到时配置完称呼无法同步数据,原因是权限不够,所以直接使用第二个授权命令)

修改my.cnf配置文件

vi /etc/my.cnf

加入如下参数:

server-id=1

log-bin=/var/lib/mysql/mysql-bin

binlog_do_db= test    #主从同步数据库名称

保存后,重启数据库 service mysqld restart;

查看server-id是否已生效

show variables like ‘server_id‘;

如果server_id‘不存在执行,创建  SET GLOBAL server_id=1;

查看主机状态 show master status;

记录下 File 和Position 后面配置从库时会用到

从库配置

修改my.cnf配置文件

vi /etc/my.cnf

加入如下参数:

server-id = 2

log-bin=/var/lib/mysql/mysql-bin

replicate-do-db  =   test   #主从同步数据名称

保存后,重启数据库 service mysqld restart;

查看server-id是否已生效

show variables like ‘server_id‘;

停止slave 服务

stop slave;

设置从库连接时登录主数据库的账号和密码等信息,然后启动slave  (ps:这最好重新查看一下master状态,以防信息发生改变 show master status; )

CHANGE MASTER TO MASTER_HOST = ‘192.168.1.185‘ ,MASTER_USER = ‘repl‘

,MASTER_PASSWORD =‘[email protected]‘

,MASTER_LOG_FILE =‘mysql-bin.000001‘

,MASTER_LOG_POS =437;

开启slave

start slave;

show slave status;

查看这两项是否为YES,yes为正常。

Slave_IO_Running: Yes  或 Connecting to master

Slave_SQL_Running: Yes

正常说明配置成功,接下来进行测试就可以了

show processlist  可以在master上查看 slave线程状态

以下链接包含已存在的旧数据库如何同步

http://jingyan.baidu.com/article/d71306352c4b5813fcf47553.html

时间: 2024-10-28 10:31:36

Linux 下实现Mysql主从的相关文章

linux下搭建mysql主从

在master上创建repl账户,用于复制. grant replication slave on *.* to 'repl'@'%' identified by '[email protected]$$W0rd'; flush privileges; 与windows下搭建mysql主从的区别: 二进制日志的路径格式不一样 master: my.cnf部分配置(master): thread_handling = pool-of-threads thread_pool_oversubscrib

linux下配置mysql主从

为了做实验方便,我们在同一台机器上配置两个MySQL服务(开两个端口)  1.安装.配置MySQL 事先已经安装好mysql: [[email protected] ~]# cd /usr/local/ [[email protected] local]# cp -r mysql/ mysql_2 [[email protected] local]# cd mysql_2/ 初始化mysql2,如果出现两个 "OK" 并且生成/data/mysql2目录说明正确: [[email pr

Linux 下实现Mysql主从同步

一.实验环境准备: 主库(Master):CentOS release 5.9  x86_64 IP:10.45.172.40 mysql Ver 14.12 Distrib 5.0.95 从库CentOS release 5.9  x86_64 IP:10.45.172.37 mysql Ver 14.12 Distrib 5.0.95, 测试是否安装mysql:service mysql restart  或servicemysqld restart 安装mysql安装: 在官方网站下载以下

linux 下安装 mysql 并配置 python 开发环境

1.安装 mysql ,安装过程中将提示设置 root 用户的密码,默认可以设置为 rootadmin . $ sudo apt-get install mysql-server 2.安装 mysql 开发工具(不安装时,安装 MySQL-python 提示错误 "mysql_config not found"). $ sudo apt-get install libmysqld-dev 3.安装 python 的 mysql 库 MySQL-python (首先安装 python-d

linux下修改MySQL root密码后数据库消失

Linux系统下如果没有通过password()函数修改mysql的root密码就会导致mysql数据库消失.有些人可能不知道而直接修改了mysql的root密码,于是产生了mysql数据库消失的问题,这个时候该怎么处理呢? 可以用下面的办法解决: 1.修改mysql数据库目录配置文件:my.cnf(或my.ini) [mysqld]下添加: skip-grant-tables 2.重启mysql服务,然后用mysql 登录. 3.进入后,可以看到,mysql数据库已呈现,然后修改密码: upd

Linux下Mongodb数据库主从同步配置

说明: 有两台已经安装完成的Mongodb数据库服务器,现在需要把一台设置为主库,另一台设置为从库,实现主从同步. 操作系统:CentOS 7.0 64位 MongoDB数据库版本:mongodb-linux-x86_64-2.6.5 准备工作:MongoDB数据库安装 具体操作: 一.配置MongoDB主库 以下操作在MongoDB主库服务器上进行 1.cd  /usr/local/mongodb/ #进入MongoDB安装目录 vi /usr/local/mongodb/mongodb.co

Linux下查看mysql、apache是否安装,安装,卸载等操作

Linux下查看mysql.apache是否安装,并卸载. 指令 ps -ef|grep mysql 得出结果 root     17659     1  0  2011 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysql

远程连接linux下的mysql Err1045 Err2003解决办法

本人linux系统 Centos7 1.Err2003 我个人的情况是因为linux中防火墙开启并阻止了3306这个mysql端口的远程连接 解决办法: CentOS 7.0默认使用的是firewall作为防火墙,现在要将其关闭 systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动firewall-cmd --state #查看默认防火墙状态(关闭后显示not

[Linux基础环境/软件]Linux下安装mysql

我是使用免安装的包mysql-5.5.28-linux2.6-x86_64.tar.gz(在http://dev.mysql.com/downloads/可以下载到最新的包)的.直接解压,然后配置,初始化数据库,启动即可. 安装步骤有: 解压和建立软链: 配置文件和配置参数: 初始化数据库: 启动和关闭: 建立数据库用户和授权. 1. 解压和建立软链: #tar xzvf mysql-5.5.28-linux2.6-x86_64.tar.gz #在/usr/local目录下 #ln -s mys