mysql主从搭建

Posted 生活无奈1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql主从搭建相关的知识,希望对你有一定的参考价值。

一、安装mysql

(1) 解压mysql包,并创建mysql用户与创建mysql数据目录

tar zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz

mv  mysql-5.6.43-linux-glibc2.12-x86_64   /usr/local/mysql

useradd -s /sbin/nologin  mysql

mkdir  -p /data/mysql

 

(2) 拷贝源码包mysql的启动文件与配置文件

cd /usr/local/mysql

yum  -y install autoconf

./scripts/mysql_install_db  --user=mysql --datadir=/data/mysql

cp support-files/mysql.server  /etc/init.d/mysqld

cp support-files/my-default.cnf   /etc/my.cnf

(提示是否覆盖,填写y)cp: overwrite ‘/etc/my.cnf’? y

 

chmod 755 /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

 

(3) 编辑mysql的启动文件

 

vi /etc/init.d/mysqld

修改参数为:

basedir=/usr/local/mysql

datadir=/data/mysql

###保存退出。

(4) 启动mysql

/etc/init.d/mysqld start  

netstat -lntp |grep mysql

执行效果,如图2所示

 

说明mysql主启动完成

 

(5) 拷贝主mysql作为从,示例如下。

cp -r /usr/local/mysql    /usr/local/mysql2

cd /usr/local/mysql2

mkdir -p /data/mysql2

cp /etc/init.d/mysqld  /etc/init.d/mysqld2

./scripts/mysql_install_db  --user=mysql --datadir=/data/mysql2

 

 

(6) 配置从mysql并启动。

chmod 755 /etc/init.d/mysqld2

chkconfig --add mysqld2

chkconfig  mysqld2  on

vi /etc/init.d/mysqld2

###添加下列参数

basedir= /usr/local/mysql2

datadir=/data/mysql2

###保存退出

vi my.cnf

####添加下列参数

port =3307

####保存退出

/etc/init.d/mysqld2 start

netstat -lntp |grep mysql

 

执行效果如图3所示。

 

(7) 下面配置主数据库

前面主要是搭建主数据库和从数据库,能看到33063307端口,就说明主从数据库都能起来,现在下面配置主和从的复制,首先配置/etc/my.cnf(主配置文件)

vi /etc/my.cnf

###添加下面内容

server_id = 1

log_bin = master

###保存退出

/etc/init.d/mysqld restart

 

####把主数据库的mysql数据拷贝出来作为测试数据,并给从库并同步来使用。

/usr/local/mysql/bin/mysqldump  -uroot mysql > /tmp/mysql.sql

/usr/local/mysql/bin/mysql  -uroot -e “create database testsql”

/usr/local/mysql/bin/mysql  -uroot testsql < /tmp/mysql.sql

 

/usr/local/mysql/bin/mysql

mysql >grant replication slave on *.* to \'repl\'@127.0.0.1 identified by \'123456\';

mysql>flush tables with read lock;

mysql >show master status;

#####此为注释 ctrl+d 表示退出

 

 

 

 

 

上图中的 file position 会在后面配置 从数据库使用。

 

(8) 下面配置从数据库

vi /usr/local/mysql2/my.cnf

### 添加下面内容

server_id = 2

### 保存退出

/etc/init.d/mysqld2 restart

 

####把备份的数据库还原到从数据中,这边做的目的是为了和主从数据库的数据初始状态一致。

/usr/local/mysql2/bin/mysql -e "create database testsql"

/usr/local/mysql2/bin/mysql testsql < /tmp/mysql.sql

 

/usr/local/mysql2/bin/mysql

mysql>stop slave;

mysql>change master to master_host=\'127.0.0.1\',master_user=’repl’,master_port=3306,master_password=\'123456\',master_log_file=\'master.000001\',master_log_pos=646075;

mysql>start slave;

mysql>show slave status\\G;

 

 

以上是关于mysql主从搭建的主要内容,如果未能解决你的问题,请参考以下文章

mysql搭建主从

MYSQL主从同步搭建

如何搭建mysql的主从关系

简单的mysql主从搭建及恢复

MySQL主从复制的简单搭建

MySQL主从复制的简单搭建