欢迎光临
我们一直在努力

linux搭建mysql主从服务

网上找了N多资料,没有一个可以顺利成功的,郁闷,可能是水平有限吧…!本人经过不断的研究、测试,完整实现linux下启动两台Mysql,而且对mysql有了更深入的了解…废话不多说,走着!

 

步骤如下:

 

一、编译安装两个mysql,步骤如下

下载Mysql ,此处以Mysql-6.0.11-alpha.tar.gz为例

 

安装第一个数据库(主数据库)

(红色部分为默认数据库文件路径,可改成其他如:data、var等)

tar zxvf mysql-6.0.11-alpha.tar.gz

cdmysql-6.0.11-alpha

./configure–prefix=/usr/local/mysql –sysconfdir=/usr/local/mysql/etc–with-tcp-port=3306 –localstatedir=/usr/local/mysql/localstate–with-unix-socket-path=/tmp/mysql3306.sock –with-charset=utf8 –with-collation=utf8_general_ci–with-extra-charsets=gbk,gb2312,binary –enable-thread-safe-client–with-plugins=innobase –with-mysqld-user=mysql –with-charset=utf8 –with-client-ldflags=-all-static–with-mysqld-ldflags=-all-static

make &&make install

 

安装第二个数据库(从数据库)

tar zxvfmysql-6.0.11-alpha.tar.gz

cdmysql-6.0.11-alpha

./configure–prefix=/usr/local/mysql3307 –sysconfdir=/usr/local/mysql3307/etc–with-tcp-port=3307 –localstatedir=/usr/local/mysql3307/localstate –with-unix-socket-path=/tmp/mysql3307.sock–with-charset=utf8 –with-collation=utf8_general_ci–with-extra-charsets=gbk,gb2312,binary –enable-thread-safe-client–with-plugins=innobase –with-mysqld-user=mysql –with-charset=utf8 –with-client-ldflags=-all-static–with-mysqld-ldflags=-all-static

make &&make install

 

如需支持所有字符集 修改为:–with-extra-charsets=all 即可

 

二、分别初始化数据库脚本(在编译目录执行下)

scripts/mysql_install_db–basedir=/usr/local/mysql/ –user=mysql

scripts/mysql_install_db–basedir=/usr/local/mysql3307/ –user=mysql

注:可用–datadir=PATH参数指定数据库文件路径,默认为编译时– localstatedir

 

 

三、修改从库配置文件

拷贝配置文件:

cp/usr/local/software/mysql-6.0.11-alpha/support-files/my-medium.cnf/usr/local/mysql/etc/my.cnf

cp/usr/local/software/mysql-6.0.11-alpha/support-files/my-medium.cnf/usr/local/mysql3307/etc/my.cnf

 

 

四、修改各个数据库的my.cnf文件

主要内容如下:

添加InnoDB支持:

[client]

#password      =your_password

port           = 3307         —数据库端口号

socket         = /tmp/mysqls.sock–sock文件路径

default-character-set=utf8         客户端UTF8连接

[mysqld]

port           = 3307         —数据库端口号

socket         = /tmp/mysqls.sock    –sock文件路径

default-storage-engine=INNODB

default-character-set=UTF8         默认字符集

init_connect=’SETNAMES utf8′      以UTF8连接

skip-name-resolve              取消DNS反向解析

lower_case_table_names=1       不区分表名大小写

 

启动数据库(进入各自目录)

主:./mysqld_safe&

从:./mysqld_safe&

 

配置开启自动:

cp/usr/local/software/mysql-6.0.11-alpha/support-files/mysql.server/etc/init.d/mysql

cp/usr/local/software/mysql-6.0.11-alpha/support-files/mysql.server/etc/init.d/mysql3307

修改/etc/init.d/mysql3007中basedir与datadir为即可

basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/var

 

 

 

 

 

停止数据库

主:./mysqladminshutdown

从:./mysqladminshutdown

 

以上各项配置都可以自行修改,以满足业务需求。

 

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。