Mysql主从复制
一、单机多实例,实现mysql 主从复制使用的是5.6系统源码包。
准备编译环境,安装:gcc, gcc-c++ ,autoconf ,automake
[root@localhost ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog mysql-5.0.18.tar.gz
[root@localhost ~]# tar -zxf mysql-5.0.18.tar.gz //解压软件包
[root@localhost ~]# cd mysql-5.0.18 //进入解压目录中
[root@localhost mysql-5.0.18]# vi INSTALL-SOURCE //编辑INSTALL-SOURCE文件
useradd mysql
./configure--prefix=/usr/local/mysql --with-charset=gbk
make
make install
cp support-files/my-medium.cnf/etc/my.cnf
cd /usr/local/mysql
bin/mysql_install_db--user=mysql
chown -R root .
chown -R mysql var
chgrp -R mysql .
bin/mysqld_safe --user=mysql &
编辑好以后保存退出:wq
[root@localhost mysql-5.0.18]# chmod 777 INSTALL-SOURCE //给INSTALL-SOURCE 777权限
[root@localhost mysql-5.0.18]# ./INSTALL-SOURCE //安装mysql
[root@localhost ~]# /usr/local/mysql/bin/mysql //启动mysql
[root@localhost ~]# ps -aux | grep mysql //查看mysql运行详细进程
Warning: bad syntax, perhaps a bogus '-'? See/usr/share/doc/procps-3.2.3/FAQ
mysql 26617 0.0 3.4 127516 17564 ? Sl 18:29 0:01
/usr/libexec/mysqld --defaults-file=/etc/my.cnf--basedir=/usr --datadir=/var/lib/mysql --user=mysql--pid-file=/var/run/mysqld/mysqld.pid --skip-locking--socket=/var/lib/mysql/mysql.sock --server-id=1 --log-bin=/var/mysql/binlog
下面做主mysql 实例:
[root@localhost ~]# mkdir /var/mysql/
[root@localhost ~]# cd /var/mysql/
[root@localhost mysql]# touch binlog
[root@localhost mysql]# chmod 777 /var/mysql/binlog –R
[root@localhost mysql]# killall mysqld //杀了所有mysql进程
下面启动主mysql实例:
[root@localhost mysql]# /usr/local/mysql/libexec/mysqld--basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql--pid-file=/usr/local/mysql/var/localhost.localdomain.pid --skip-locking--port=3306 --socket=/tmp/mysql.sock --server-id=1 --log-bin=/var/mysql/binlog &
启动从mysql 实例:
[root@localhost~]# mkdir /usr/local/mysql-new
[root@localhost~]# cp -r /usr/local/mysql/* /usr/local/mysql-new
[root@localhost ~]# /usr/local/mysql/libexec/mysqld--basedir=/usr/local/mysql-new --datadir=/usr/local/mysql-new/var --user=root --pid-file=/usr/local/mysql-new/var/localhost.localdomain.pid--skip-locking --port=3307 --socket=/tmp/mysql-new.sock --server-id=2 &
实现mysql主从复制:
[root@localhost ~]# mysql //进入主mysql
mysql> show databases;
[root@localhost ~]# mysql -h 127.0.0.1 -P 3307 //进入从mysql
mysql> change master to master_host='127.0.0.1',master_user='root', master_password='', master_port=3306; //链接主mysql数据库
mysql> start slave;
mysql> show databases;
两台mysql服务器实现主从复制
安装部分省略!!!!!!!!
Mysql主机1 :IP:192.168.1.100
[root@localhost ~]# mkdir /var/mysql/
[root@localhost ~]# cd /var/mysql/
[root@localhost mysql]# touch binlog
[root@localhost mysql]# chmod 777 /var/mysql/binlog –R
[root@localhost mysql]# killall mysqld //杀了所有mysql进程
下面启动主mysql:
[root@localhost mysql]#/usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql--datadir=/usr/local/mysql/var --user=mysql--pid-file=/usr/local/mysql/var/localhost.localdomain.pid --skip-locking--port=3306 --socket=/tmp/mysql.sock --server-id=1 --log-bin=/var/mysql/binlog&
Mysql从机2 :IP:192.168.1.200
下面启动主mysql:
[root@localhost mysql]#/usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql--datadir=/usr/local/mysql/var --user=mysql--pid-file=/usr/local/mysql/var/localhost.localdomain.pid --skip-locking--port=3306 --socket=/tmp/mysql.sock --server-id=2 &
进入mysql主机1 :
mysql>grant all on *.* to ‘username’@’%’identified by ‘123456’;
进入mysql从机2:
mysql> change master to master_host='192.168.1.200',master_user='username', master_password='123456';
mysql>start slave;
主从复制mysql 就可以完成了。
转载于:https://blog.51cto.com/xingher/1256550