网站地图    收藏   

主页 > 后端 > mysql数据库 >

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

来源:自学PHP网    时间:2015-04-16 10:51 作者: 阅读:

[导读] 一 最小化安装centos二 虚拟机安装完后,iptables会自动开启,永久关闭它 chkconfig iptables off三 设置静态ip地址,方便以后shell连接 ,mysql主服务器192 168 1 41,从服务器192 168 1 42; 1 vi...

一.最小化安装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才表示成功

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

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

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

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论