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

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

时间: 2024-10-11 21:49:45

linux搭建mysql主从服务的相关文章

Linux搭建MySQL主从

实现目标 搭建两台MySQL服务器(一主一从),一台作为主服务器,一台作为从服务器,主服务器进行写操作,从服务器进行读操作. 工作流程概述 主服务器: 开启二进制日志 配置唯一的server-id 获得master二进制日志文件名及位置 创建一个用于slave和master通信的用户账号 从服务器: 配置唯一的server-id 使用master分配的用户账号读取master二进制日志 启用slave服务 准备工作 主从数据库版本最好一样 主从数据库内数据保持一致 主数据库:192.168.24

搭建Mysql主从同步服务

Mysql主从同步搭建 mysql主从同步利用binlog日志中记录的sql语句实现数据同步,进而实现自动备份数据的目的. 在搭建mysql主从同步时,要求一台服务器做master即主服务器,一台服务器做slave即从服务器,slave服务器从master服务器上同步binlog日志中记录的sql语句,在本地数据库中执行这些语句来实现数据库同步的目的. 注意,在搭建mysql主从同步服务时,slave上的数据库必须与master服务器上的数据库中的库和表完全相同,即有同样的库,表且表结构完全相同

linux下搭建mysql主从

在master上创建repl账户,用于复制. grant replication slave on *.* to 'repl'@'%' identified by '[email protected]$$W0rd'; flush privileges; 与windows下搭建mysql主从的区别: 二进制日志的路径格式不一样 master: my.cnf部分配置(master): thread_handling = pool-of-threads thread_pool_oversubscrib

搭建mysql主从服务器

搭建mysql主从服务器: //注:注释掉my.cn文件中的skip-federated字段[[email protected] ]# /bin/cp -r /usr/local/mysql/share/mysql/my-huge.cnf  /etc/my.cnf 配置主服务器:修改my.cnf文件server-id=1 //每个数据库服务器都要指定唯一一个server-id log-bin=mysql-bin //mysql进行主从复制时通过二进制日志文件来进行的,所以必须开启mysql日志功

Linux下mysql主从同步备份master-slave详细配置

1.概要首先要准备两台服务器,一台主服务器(Master),另一台从服务器(Slave),然后要保证Master与Slave的版本要相同且Master不能高于Slave的版本,一般稳健的做法都是使其版本相同,因为MySQL不同版本之间的binlog(二进制日志)格式可能会不一样,最后会导致同步出现异常.介绍先到这里,以下我们先确认两台服务器的信息: 主服务器(Master):IP:192.168.1.100系统:Linux(Ubuntu 64位 v10.10)MySQL版本:5.1.49需要同步

怎么使用mysqlreplicate快速搭建MySQL主从呢?

用其中的mysqlreplicate工具来快速搭建MySQL主从环境. HE1:192.168.1.248 slave HE3:192.168.1.250 master 实战 Part1:安装mysql-utilities [[email protected] ~]# tar xvf mysql-utilities-1.5.4.tar.gz[[email protected] ~]# cd mysql-utilities-1.5.4[[email protected] mysql-utiliti

Linux搭建Postfix邮件服务

Postfix为何物,详见:http://zh.wikipedia.org/wiki/Postfix 0.关于Postfix postfix的产生是为了替代传统的sendmail.相较于sendmail,postfix在速度,性能和稳定性上都更胜一筹.现在目前非常多的主流邮件服务其实都在采用postfix. 当我们需要一个轻量级的的邮件服务器是,postfix不失为一种选择. 1. postfix是免费的: postfix想要作用的范围是广大的Internet用户,试图影响大多数的Interne

1分钟利用mysqlreplicate快速搭建MySQL主从

利用mysqlreplicate快速搭建MySQL主从环境 简介 mysql-utilities工具集是一个集中了多种工具的合集,可以理解为是DBA的工具箱,本文介绍利用其中的mysqlreplicate工具来快速搭建MySQL主从环境. HE1:192.168.1.248 slave HE3:192.168.1.250 master 实战 Part1:安装mysql-utilities [[email protected] ~]# tar xvf mysql-utilities-1.5.4.t

Linux下mysql主从配置

mysql服务器的主从配置,这样可以实现读写分离,也可以在主库挂掉后从备用库中恢复需要两台机器,安装mysql,两台机器要在相通的局域网内主机A: 192.168.1.100从机B:192.168.1.101可以有多台从机1.先登录主机 Amysql>GRANT REPLICATION SLAVE ON *.* TO ‘backup’@’192.168.1.101‘ IDENTIFIED BY ‘123456’;赋予从机权限,有多台丛机,就执行多次2. 打开主机A的my.cnf,输入server