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

步骤如下:

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

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

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

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

tar zxvf mysql-6.0.11-alpha.tar.gz

cd mysql-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 zxvf mysql-6.0.11-alpha.tar.gz

cd mysql-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='SET NAMES 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

停止数据库

主:./mysqladmin shutdown

从:./mysqladmin shutdown

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

版权所有:Robot_G(swengineer)  欢迎转载http://blog.csdn.net/swengineer/archive/2011/03/11/6239711.aspx

Linux下安装启动多个Mysql的更多相关文章

  1. Linux下安装配置与使用MySQL数据库

    Linux下安装配置与使用MySQL数据库 在Linux下安装做开发时往往少不了要使用到MySQL数据库,下面就Linux系统为例讲解一下,如何安装MySQL数据库,如何启用/停.止MySQL服务,如 ...

  2. linux下安装jdk+tomcat+eclipse+mysql

    我的环境:主机是win7的,虚拟机是VWare  Workstation 6.0   ,linux系统为Red Hat Enterprise  Linux 5 64位 各软件版本:jdk是jdk-6u ...

  3. linux下如何启动/停止/重启mysql:

    一.启动方式1.使用linux命令service 启动:service mysqld start2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start3.使用 safe_ ...

  4. linux 下 安装 rpm 格式 的 mysql

    在Linux操作系统下,安装MYSQL有两种方式: 一种tar安装方式, 另外一种是rpm安装方式. 这两种安装方式有什么区别呢?尽管我们在Linux下常用tar来压缩/解压缩文件,但MYSQL的ta ...

  5. linux下安装rpm格式的mysql

    1.下载安装包官网下载.rpm格式安装包,需要下面两个文件: MySQL-server-5.0.26-0.i386.rpm MySQL-client-5.0.26-0.i386.rpm 注:官网下载时 ...

  6. Centos | Linux 下安装启动 mysql 出现 8618 [ERROR] Aborting,查看日志:Plugin 'FEDERATED' is disabled.

    1.试试启动时指定配置文件 ./bin/mysqld_safe --defaults-file=mysql.cnf 或 ./bin/mysqld_safe --defaults-file=mysql. ...

  7. Linux下安装启动nginx的过程

    1.首先将nginx的安装包传到虚拟机里的/home目录下 2.为了方便nginx运行而不影响linux安全需创建组合用户 groupadd -r nginxuseradd -r -g nginx  ...

  8. 安装Linux的步骤 包含linux下安装jdk,及mysql

    https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/ 镜像下载网址,4G 左右. 安装VMware 15版本 一路下一步, ...

  9. Linux下安装LAMP(Apache+PHP+MySql)和禅道

    1.更新yum源: yum update -y 2.安装Apache+PHP+MySql yum install httpd mysql-devel mysql-server mysql-php ph ...

随机推荐

  1. zabbix主动监测客户端设置

    主动/被动模式 主动模式和被动模式的区别一开始我也非常模糊,其实这是zabbix的两种工作方式,是相对于zabbix的agent端来说的,定义为: 主动模式:zabbix的agent端,也就是客户端, ...

  2. leetcode 中等题(1)

    2. Add Two Numbers(中等) /** * Definition for singly-linked list. * struct ListNode { * int val; * Lis ...

  3. 九:python 对象类型详解五:元组

    一:元组: 1,简单介绍:元组由简单的对象组构成.元组与列表非常类似,只不过元组不能在原处修改(它们)是不可变的,并且通常写成圆括号中的一系列项.虽然元组不支持任何方法调用,但元组具有列表的大多数属性 ...

  4. 【git】gitignore

    gitignore git专门有个文件用来管理那些不被纳入版本库的文件,这个文件是 [.gitignore],所有不被包含的都能放进去,但这个是有前提的. 前提 前提是文件如果没被git客户端trac ...

  5. Delphi: 获取控件文本宽度(像素)

    为适应多语言,需要对界面控件大小.位置多动态改变,因此需要根据其Caption计算实际像素大小. 找资料未有易用现成的,遂参数其它方法,写以函数处之,代码如下: uses TypInfo; funct ...

  6. Hibernate+struct web项目问题总结

    问题一: ClassTable is not mapped [from ClassTable] 解决办法:在添加资源路径 <mapping resource="***/***/***/ ...

  7. 通过java.net.URLConnection发送HTTP请求(原生、爬虫)

    目录 1. 运用原生Java Api发送简单的Get请求.Post请求 2. 简单封装 3. 简单测试 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求.Ja ...

  8. union和union all区别

    如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并在一起显示出来. union和unio ...

  9. C#实现发送给QQ邮件

    最近在做一个通过点击忘记密码往用户邮箱中发邮件(邮件内容是一个超链接)点击进行修改的功能,发送原理,我们只是把邮件发送给smtp服务器,然后再由smtp服务器发送到邮箱,发送之前要校验一下. 1.微软 ...

  10. C# System.Data.OracleClient requires Oracle client software version 8.1.7 or greater

    好好的程序,突然出现了错误,原因是:System.Data.OracleClient requires Oracle client software version 8.1.7 or greater, ...