zoukankan      html  css  js  c++  java
  • 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

    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中安装Oracle(较详细图解)
    SecureCRT
    MHA配置文件说明
    MySQL建表规范与常见问题 (go)
    Shell编程时常用的系统文件(转)
    Leetcode: Excel Sheet Column Title
    Leetcode: Find Peak Element
    Leetcode: Intersection of Two Linked Lists
    Leetcode: Majority Element
    Summary: Class Variable vs. Instance Variable && Class Method
  • 原文地址:https://www.cnblogs.com/mydriverc/p/7346007.html
Copyright © 2011-2022 走看看