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   IP192.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   IP192.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 就可以完成了。