首页 > 数据库技术 > 详细

centos6.5安装mysql并配置主主集群

时间:2016-03-07 02:06:41      阅读:161      评论:0      收藏:0      [点我收藏+]

准备工作

执行如下命令安装依赖:

?

?

# yum install gcc gcc-c++ ncurses-devel zip make cmake

执行如下命令(确保系统内无mysql的遗留信息):

rm –rf /etc/my.cnf

userdel mysql

groupdel mysql

?

?

安装mysql前需要查询系统中含有的有关mysql的软

?

rpm -qa | grep -i mysql ? ?//grep -i不分大小写,含有mysql就显示如下信息:

mysql-libs-5.1.71-1.el6.i686 //它是好几个软件的依赖,其中在mini版本中postfix软件依赖mysql-libs,网上很多建议都是直接删除,

# yum remove mysql-libs //或者执行下面命令

# rpm -e --nodeps mysql-libs-5.1.71-1.el6.i686 //这样做不是最好的办法。

安装mysql

?

1.上传?mysql-5.6.22.tar.gz 到 /opt/soft下:

# rz

2.进入?/opt/soft:

# cd??/opt/soft

3.解压安装包 :

#?tar -zxvf?mysql-5.6.22.tar.gz

4.创建安装需要的目录:

# mkdir -p /opt/usr/mysql

# mkdir -p /opt/data/mysql

# mkdir -p /opt/log/mysql

?

?
5.进入解压后的mysql目录:

?

?

#?cd?/opt/soft/mysql-5.6.22

6.执行cmake:

#?cmake -DCMAKE_INSTALL_PREFIX=/opt/usr/mysql/mysql-5.6.22 \

-DMYSQL_DATADIR=/opt/data/mysql/data \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DENABLED_LOCAL_INFILE=1

7.编译安装:
?

成功后进行编译安装,执行如下命令:

# make -j2 && make install -j2

8.上传mysql配置文件my.cnf:

# cd?/opt/usr/mysql/mysql-5.6.22/etc
#rz ?//(注:my.cnf参考附录,主从有少许区别)

9.初始化数据库:

? ? 9.1.进入目录:
? ? ? ? #cd?/opt/usr/mysql/mysql-5.6.22/scripts
? ? 9.2.执行数据库初始化命令:
?

? ? ? ? # ./mysql_install_db?--basedir=/opt/usr/mysql/mysql-5.6.22?--datadir=/opt/data/mysql?--user=root?-- ? ? ? ?defaults-file=/opt/usr/mysql/mysql-5.6.22/etc/my.cnf

10.拷贝support-files下的mysql.server拷贝到根目录下

# cd?/opt/usr/mysql/mysql-5.6.22/support-files

?

# cp mysql.server ../

编辑mysql.server的283行,添加参数:--user="root"

可以使用:set nu查看行号

?

?
11.??主主集群详细

?

????-?删除data_dir目录下的auto.cnf删除

进入到/opt/data/mysql目录下,执行如下命令:

rm –rf auto.cnf?(防止相同的UUID)

????-?修改主库/opt/usr/mysql/mysql-5.6.22/etc/my.cnf文件里的serverid,建议使用当前服务器IP的最后一位
????-?修改从库/opt/usr/mysql/mysql-5.6.22/etc/my.cnf文件里的serverid,建议使用当前服务器IP的最后一位
????-?在主库的/opt/usr/mysql/mysql-5.6.22/etc/my.cnf文件中[mysqld]下面添加如下命令:

auto_increment_increment=2 (步进值为2使得两条绝对同时插入的纪录不产生冲突)

auto_increment_offset=1(偏移量为1)

log_slave_updates=1

????-?在从库的/opt/usr/mysql/mysql-5.6.22/etc/my.cnf文件中[mysqld]下面添加如下命令:

auto_increment_increment=2

auto_increment_offset=2(偏移量为2)

log_slave_updates=1

????-?启动主库、从库

sh mysql.server start

????-?主库上拷贝授权账号(只有授权的从库才能进行同步)

GRANT?REPLICATION?SLAVE?ON?*.*?to?‘repl‘@‘192.168.1.%‘?identified?by?‘repl‘;(注意自己所在网段,末尾用%代替)

bubuko.com,布布扣

????-?从库上拷贝授权账号(只有授权的从库才能进行同步)

GRANT?REPLICATION?SLAVE?ON?*.*?to?‘repl‘@‘192.168.1.%‘?identified?by?‘repl‘;

bubuko.com,布布扣

????-?查看主库的偏移量

show master status

记录file和position变量

bubuko.com,布布扣

生成如下命令并将如下命令在从库上执行:

change master to

master_host=‘192.168.56.101‘,#代表主库的IP

master_user=‘repl‘,

master_password=‘repl‘,

master_log_file=‘mysql-bin.000004‘,#file

master_log_pos=334;#position

将该命名在从库上执行

bubuko.com,布布扣

????-?查看从库的偏移量

show master status

记录file和position变量

bubuko.com,布布扣

生成如下命令并将如下命令在主库上执行:

change master to

master_host=‘192.168.56.102‘, #代表主库的IP

master_user=‘repl‘,

master_password=‘repl‘,

master_log_file=‘mysql-bin.000004‘, #file

master_log_pos=120; #position

bubuko.com,布布扣

????-?主库上执行启动命令

start slave;

bubuko.com,布布扣

????-?从库上执行命令

start slave;

bubuko.com,布布扣

????-?验证主主配置状态

show slave status \G;

bubuko.com,布布扣


bubuko.com,布布扣
?

?

?

?

11.1.??创建数据库:
进入mysql执行

? ? create database jiajiaozaixian;(如果主主成功,在主库创建后,从库自动复制)

11.2.??创建用户?jiajiaozaixian和密码?jiajiaozaixian_123并赋权

? ? grant?all?privileges?on?jiajiaozaixian.*?to??jiajiaozaixian@‘%‘??identified?by?‘?jiajiaozaixian_123‘;?

?
11.3.??常见问题排查

先检查change master to?命令所指定的ip、用户等信息是否正确;然后确认防火墙已关闭(Service iptables stop);然后检查mysql.enf中增加的配置是否有误。

?

?

?

?

12. 设置mysql开机启动:

?将mysql.server这个文件copy到/etc/init.d/目录下,改名成mysql

# ?cp support-files/mysql.server /etc/init.d/mysql

# ?chmod 755 /etc/init.d/mysql //给mysql这个文件赋予“执行”权限

# ?chkconfig --add mysql //加入到开机自动运行

# ?service mysql restart //重新启动MySQL

# ?chkconfig --list ?mysql //查看mysql是否开机启动

?

?

?

?

附录:主机my.cnf
[client]
port?=?3306
socket?=?/var/lib/mysql/mysql.sock
[mysql]
no-auto-rehash
[mysqld]
user?=?root
port?=?3306
socket?=?/var/lib/mysql/mysql.sock
basedir?=?/opt/usr/mysql/mysql-5.6.22
datadir?=?/opt/data/mysql
pid-file?=?/opt/log/mysql/mysql.pid
open_files_limit?=?10240
lower_case_table_names=1
user?=?root
server-id?=?33
log-bin=mysql-bin
binlog-do-db=jiajiaozaixian
binlog-ignore-db=mysql
slow_query_log?=?1
long_query_time?=?1
log_error?=?/opt/log/mysql/mysql-error.log
slow_query_log_file?=?/opt/log/mysql/mysql-slow.logi
?
auto_increment_increment=2
auto_increment_offset=1
log_slave_updates=1
?
从机my.cnf
[client]
port?=?3306
socket?=?/opt/data/mysql/mysql.sock
[mysql]
no-auto-rehash
[mysqld]
user?=?root
port?=?3306
socket?=?/opt/data/mysql/mysql.sock
basedir?=?/opt/usr/mysql/mysql-5.6.22
datadir?=?/opt/data/mysql
pid-file?=?/opt/log/mysql/mysql.pid
open_files_limit?=?10240
lower_case_table_names=1
user?=?root
server-id?=?36
log-bin=mysql-bin
binlog-do-db=jiajiaozaixian
binlog-ignore-db=mysql
slow_query_log?=?1
long_query_time?=?1
log_error?=?/opt/log/mysql/mysql-error.log
slow_query_log_file?=?/opt/log/mysql/mysql-slow.logi
auto_increment_increment=2
auto_increment_offset=2
log_slave_updates=1
?

centos6.5安装mysql并配置主主集群

原文:http://ailikes.iteye.com/blog/2280881

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!