设为首页 收藏本站
查看: 1083|回复: 0

[经验分享] 虚拟机centos6.3 安装 mysql5.6.15 并设置 mysql主从复制

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-1-2 09:28:34 | 显示全部楼层 |阅读模式
一.最小化安装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
存储引擎选项:
MyISAM,MERGE,MEMORY,和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才表示成功

按照笔者的操作下来,理论上是可以成功的(因为笔者是,边操作,边记录的,并且成功了,)
但是实际情况有很多种,也有可能会失败
出错的原因有很多种,可以上网查找答案


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-12988-1-1.html 上篇帖子: Mysql中文乱码解决思路和过程 下篇帖子: MySQL插入中文,获取数据得到乱码? 虚拟机 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表