虚拟机centos6.3 安装 mysql5.6.15 并设置 mysql主从复制

一.最小化安装centos
二.虚拟机安装完后,iptables会自动开启,永久关闭它  chkconfig iptables off
三.设置静态ip地址,方便以后shell连接 ,mysql主服务器192.168.1.41,从服务器192.168.1.42;
    1.vi   /etc/sysconfig/network-scripts/ifcfg-eth0  (根据虚拟机网卡的不同,这里eth0也可能是eth1,eth2)
      DEVICE=eth0
      BOOTPROTO=static
      HWADDR=00:26:18:0B:38:C0
      ONBOOT=yes
      IPADDR=192.168.1.41
      NETMASK=255.255.255.0
      GATEWAY=192.168.1.1
    2.IP生效:
      /sbin/ifdown eth0
      /sbin/ifup eth0
    3.通知网关更新信息:
      /etc/init.d/network restart
    4.配置DNS:
      vi  /etc/resolv.conf
      nameserver 202.101.172.35  
    5.chattr +i  /etc/resolv.conf改为只读
    6.重启系统
四 使用shell登录192.168.1.41 (mysql主服务器,先设置一台,然后通过复制,克隆,产生从服务区)
五 安装mysql5.6.15 (官网mysql.com下载源码包安装。 http://dev.mysql.com/downloads/mysql/
     1.安装编译源码所需的工具和库  yum install gcc gcc-c++  ncurses-devel  perl
           安装cmake(mysql5.5以后都采用cmake安装了)

wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

tar -xzvf cmake-2.8.10.2.tar.gz

cd cmake-2.8.10.2

./bootstrap ; make ; make install


    2.创建mysql用户与组
        groupadd mysql

        useradd -r -g mysql mysql

    3.新建mysql安装目录和数据目录

     mkdir -p /usr/local/mysql

       mkdir -p /data/mysqldb

  

  4.下载mysql 源码包并解压安装

      在官方网站 http://dev.mysql.com/downloads/mysql/ 找找,一般是最后一个source code 32M左右

      tar -zxv -f mysql-5.6.15.tar.gz


  5.安装mysql

       cd mysql-5.6.15

       配置编译信息

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT=3306 \

-DENABLE_DOWNLOADS=1

make

make install

注:重新运行配置,需要删除CMakeCache.txt文件


##################解释与说明##############################################

-DCMAKE_INSTALL_PREFIX=dir_name

设置mysql安装目录

-DMYSQL_UNIX_ADDR=file_name

设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock中。

-DDEFAULT_CHARSET=charset_name

设置服务器的字符集。缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。

cmake/character_sets.cmake文件包含允许的字符集名称列表。

-DDEFAULT_COLLATION=collation_name

设置服务器的排序规则。

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

存储引擎选项:

MyISAMMERGEMEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。

静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1

可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB),   PARTITION (partitioning support), 和 PERFSCHEMA (Performance Schema).

-DMYSQL_DATADIR=dir_name

设置mysql数据库文件目录

-DMYSQL_TCP_PORT=port_num

设置mysql服务器监听端口,默认为3306

-DENABLE_DOWNLOADS=bool

是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。

########################################################################

6.修改mysql安装目录和数据目录的权限

cd /usr/local/mysql

chown -R mysql:mysql .

cd /data/mysqldb

chown -R mysql:mysql .


7.初始化mysql数据库

cd /usr/local/mysql

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

8复制mysql服务启动配置文件

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

9 修改配置文件

vi /etc/my.cnf

修改datadir = /data/mysqldb/


10、复制mysql服务启动脚本及加入PATH路径

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

  vim /etc/profile

    PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH

  export PATH

  source /etc/profile


11、启动mysql服务并加入开机自启动

  service mysqld start

  chkconfig --level 35 mysqld on


12、检查mysql服务是否启动

  netstat -tulnp | grep 3306

  mysql -u root -p

密码为空,如果能登陆上,则安装成功。


13、修改MySQL用户root的密码

  mysqladmin -u root password '123456'




六 复制虚拟机,准备做mysql主从复制

1.可以克隆,也可以直接ctrl+c ctrl+v 复制虚拟机。

2.进入刚复制的虚拟机,由于是复制的,有些地方需要修改

   hostname mysql42

   /etc/sysconfig/network-scripts/ifcfg-eth0 修改静态ip为192.168.1.42

   rm /etc/udev/rules.d/70-persistent-net.rules 删除该文件

   reboot 重启

3.重启后的从服务器,可以用shell进入,需要修改auto.cnf文件(都是复制虚拟机惹的祸)

  cd /data/mysqldb/ 

  vi auto.cnf

  把这一长串 16进制 修改一个或多个数,比如把0改成1,把2改成a,随便你改,保证和41服务器不一样就行


七mysql主从配置

1.设置server_id,设置log-bin

   192.168.1.41 主服务器 

        vi /etc/my.cnf ; 

        修改server_id=1 ; 

        修改log-bin=mysqlbin-log;  

        service mysqld restart 重启mysql服务

   192.168.1.42 从服务器

        vi /etc/my.cnf ; 

        修改server_id=42 ;(随便取,这里跟ip对应) 

        修改log-bin=mysqlbin-log; (从服务器可以不设置)

        service mysqld restart 重启mysql服务


2.主服务器,创建拥有操作主从权限的账户

  进入mysql    mysql -uroot -p123456

  GRANT REPLICATION SLAVE ON *.* to 'atfire'@'%' identified by 'atfire123';

   atfire是帐号,atfire.cn是密码

  FLUSH PRIVILEGES; 刷新权限,使权限生效,这句一定要执行,不然无效。


  show master status; 查看主服务器bin-log日志的当前为止 ,这里假设是 mysql-bin.000001    120;


3.设置从服务器

   进入mysql    mysql -uroot -p123456

   (可以键入命令help change master to 查看相关配置


CHANGE MASTER TO

  MASTER_HOST='192.168.1.41',            

  MASTER_USER='atfire',

  MASTER_PASSWORD='atfire123',

  MASTER_PORT=3306,

  MASTER_LOG_FILE='mysqlbin-log.000001',

  MASTER_LOG_POS= 120


 这些参数分别是 主服务器地址,用户名,密码,端口号,bin-log日志文件,bin-log日志当前地址(由步骤2中查出)

4. start slave;开启从服务器线程

5.show slave status\G;查看从服务器信息

如果 

    Slave_IO_Running=yes

    Slave_SQL_Running=yes

那就表示成功了,这个时候可以去主服务器增删改,从服务器会产生一样的数据


如果 Slave_IO_Running和Slave_SQL_Running有一个不是yes,那就是出错了

 不管是no还是connecting,都是错了,要2个都是yes才表示成功


按照笔者的操作下来,理论上是可以成功的(因为笔者是,边操作,边记录的,并且成功了,)

但是实际情况有很多种,也有可能会失败

出错的原因有很多种,可以上网查找答案



        















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值