一Linux双mysql + mysql主从配置

一个Linux内装2mysql服务做主从

我全部是在Centos6.4内完成的

一、准备:

1、卸载本地mysql

yum remove mysql 或者 rpm -e mysql

 

2下载安装cmake

cmake下载地址

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

安装cmake

tar -zxvf cmake-2.8.12.2.tar.gz

cd cmake-2.8.12.2.tar.gz

./configure

Make && make install

 

将cmake加入环境变量

echo ”PATH=$PATH:/usr/local/cmake/bin” >> /etc/profile && source /etc/profile

3、下载mysql

mysql下载地址

ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.5/mysql-5.5.37.tar.gz

创建1、2两个目录将mysql-5.5.37.tar.gz复制2份放里面

mkdir /root/mysql/1

mkdir /root/mysql/2

cp  mysql-5.5.37.tar.gz  1

cp  mysql-5.5.37.tar.gz  2

4、解压安装第一个mysql

cd 1

tar  zxvf  mysql-5.5.37.tar.gz

cd  mysql-5.5.37.tar.gz

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DSYSCONFDIR=/usr/local/mysql/etc

-DYSQL_TCP_PORT=3306

-DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql3306.sock -DWITH_INNOBASE_STORAGE_ENGINE=1

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DEXTRA_CHARSETS=all

-DINSTALL_PLUGINDIR=innobase

-DMYSQL_USER=mysql

 

make && make install

OK,第一个mysql安装完成

 

5解压安装第二个mysql

cd 2

tar  zxvf  mysql-5.5.37.tar.gz

cd  mysql-5.5.37.tar.gz

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql3307

-DSYSCONFDIR=/usr/local/mysql3307/etc

-DYSQL_TCP_PORT=3307

-DMYSQL_DATADIR=/usr/local/mysql3307/data -DMYSQL_UNIX_ADDR=/tmp/mysql3307.sock -DWITH_INNOBASE_STORAGE_ENGINE=1

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DEXTRA_CHARSETS=all

-DINSTALL_PLUGINDIR=innobase

-DMYSQL_USER=mysql

 

 

6分别初始化2mysql数据库

/root/mysql/1/mysql-5.5.37/scripts/mysql_install_db –basedir=/usr/local/mysql/ –user=mysql

/root/mysql/2/mysql-5.5.37/scripts/mysql_install_db –basedir=/usr/local/mysql3307/ –user=mysql

 

 

二、修改从库配置文件

拷贝配置文件:

cp /root/mysql/1/mysql-5.5.37/support-files/my-medium.cnf /usr/local/mysql/etc/my.cnf

cp /root/mysql/2/mysql-5.5.37/support-files/my-medium.cnf /usr/local/mysql3307/etc/my.cnf

 

修改mysql3307的配置文件

指定端口,如果后面启动不来2mysql的话,在2my.cnf内都指定basedirdatadir

图片1

 

配置开启自动:

cp /root/mysql/1/mysql-5.5.37/support-files/mysql.server /etc/init.d/mysql

cp /root/mysql/2/mysql-5.5.37/support-files/mysql.server /etc/init.d/mysql3307

修改/etc/init.d/mysql3007basedirdatadir为即可

basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/data

 

启动

图片2

 

现在两个mysql都启动了,我们来做主从配置

 

三、主从配置

我们用3306端口的mysql为主,3307端口的mysql为从

1、配置主

[root@lqx2 bin]# pwd

/usr/local/mysql/bin

[root@lqx2 bin]# ./mysql -uroot -p

创建同步账户

grant replication slave on *.* to ’slave01′@’192.168.1.253′ identified by ’123456′;

图片3

配置主的my.cnf

图片4

重启主的mysql服务,进入主MySQL,记录下FilePosition的值

图片5

主配置完毕

 

2从库配置

图片6

重启从mysql

图片7

启动slave并查看

图片8

都yes,主从配置成功

 

3、下面我们来验证下test库是否可以同步

我们在主库内创建一张表并插入数据,看看从库是否会同步

图片9

 

如下:从库数据同步成功

图片10

一系统两mysql,以及主从同步完成了

 

 

备注:出错解决

 

错误一、编译安装时报错

Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMake Error at cmake/readline.cmake:83 (MESSAGE):

 

rm CMakeCache.txt

yum install ncurses-devel

OK,在安装就不会报错了

 

错误二、启动2mysql总是同时只有一个启动

将basedirdatadi在两个my.cnf内都指明一下,再次初始化

 

错误三、有时候可能是权限问题,当找不到错误的时候不妨看看权限

难以发现的错误总是在细节处,不怕大家笑话,我做这个实验,有个地方字母错了一个我排错拍了近半小时

 

有时启动不来mysql不妨ps看一下是否进程占用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值