• 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 3

    Centos中Mysql创建多个数据库实例并相互转换

    Posted by 撒得一地 on 2015年12月15日 in Mysql优化
    国外稳定加速器推荐    Express | Vypr

    本文章将会演示如何在已有Mysql数据库基础上创建第二个Mysql实例,并将原数据库转移到第二个创建的数据库实例中。

    描述

    有时候,几个不同的数据库在同一个Mysql数据库实例中会出现问题。出现问题的场景可能是这样的:

    两个个项目使用的是同一个数据库。因为某些原因,一个项目需要重新启动它的数据库。在这种情况下,这两个数据库都会受到影响。

    如果其中一个项目是多线程的,一不小心就可能创造出太多的MySQL连接,超过了Mysql最大的连接数。在这种情况下,使用同一实例的其他项目将受到影响。分离数据库实例可以帮助避免这种奇怪的情况。

    步骤

    创建第二个Mysql实例

    步骤1

    创建一个新的Mysql安装目录

    mkdir -p /var/lib/mysqlSecondInstance
    

    步骤2

    使用下列命令设置权限:

    chmod --reference /var/lib/mysql /var/lib/mysqlSecondInstance
    
    chown --reference /var/lib/mysql /var/lib/mysqlSecondInstance
    

    在这里,"–reference"表明了原有数据库实例的权限。上面/var/lib/mysql是你之前安装第一个数据库实例的目录。

    步骤3

    在/etc/目录下复制现有配置文件my.www.cfage.comf,并在/etc目录下重命名。

    /etc/my.www.cfage.comf文件包含了mysql数据库的配置属性。所以,为了创建第二个mysql数据库实例,我们必须在同一个目录下创建第二个配置文件。

    cp -p /etc/my.www.cfage.comf /etc/mySecondInstance.www.cfage.comf
    

    步骤4

    编辑新复制过来的的配置文件mySecondInstance.www.cfage.comf,我使用vim命令进行编辑:

    vim /etc/mySecondInstance.www.cfage.comf
    

    并将配置文件修改成如下:

    [mysqld]
    datadir=/var/lib/mysqlSecondInstance
    socket=/var/lib/mysql/mysqlSecondInstance.sock
    port=3307
    [mysqld_safe]
    log-error=/var/log/mysqlSecondInstance.log
    pid-file=/var/run/mysqld/mysqlSecondInstance.pid
    

    步骤5

    现在,我们必须安装Mysql到最新的目录下,并使用新的端口监听,比如用3307端口。

    mysql_install_db --user=mysql --datadir=/var/lib/mysqlSecondInstance
    

    上面的mysql_install_db在你原先Mysql安装目录下的scripts目录下,比如我的mysql_install_db所在目录:
    /var/lib/mysql/scripts/mysql_install_db。你根据你第一个Mysql安装路径找到相应的安装命令。

    上面的命令运行成功后我们就创建了第二个Mysql实例。现在,我们学习下如何启动和关闭这个实例。

    开启和关闭Mysql第二个实例

    开启:

    mysqld_safe --defaults-file=/etc/mySecondInstance.www.cfage.comf &
    

    验证下3307端口是否监听这个实例

    netstat -tanp | grep 3307
    

    连接到新创建的Mysql实例

    mysql -u root --port=3307 -h 127.0.0.1 -p
    

    在这里,root为数据库用户名,127.0.0.1为主机地址。你可以根据你自己的地址进行更改。

    使用该命令后,它会要求密码。此时密码为空,直接回车键即可,因为我们还没有设置任何密码。

    进入后,我们会得到"mysql>"提示,你可以在这里设置用户密码。

    关闭Mysql实例

    mysqladmin -S /var/lib/mysql/mysqlSecondInstance.sock shutdown -p
    

    如果有必要频繁的开始/停止这个实例,我们可以创建一个小脚本:

    vim mySecondInstance
    

    将下面的脚本复制到mySecondInstance文件中:

    #!/bin/bash
    start(){
      mysqld_safe --defaults-file=/etc/mySecondInstance .www.cfage.comf &
    }
    
    stop(){
      mysqladmin -S /var/lib/mysql/mySecondInstance .sock shutdown -p
    }
    case "$1" in
           start)
                    start
                    ;;
               stop)
                    stop
                    ;;
    esac
    

    使脚本文件可以被执行,使用如下命令:

    chmod 755 mySecondInstance
    

    现在,我们可以如下这样启动和停止第二MySQL实例:

    service mySecondInstance start
    
    service mySecondInstance stop
    

    当它要求输入用户密码时,你提供该数据库实例密码即可。

    将数据库从第一个实例转移到第二个实例中

    假设,在第一个Mysql数据库实例中,包含了如下的数据库:

    mysql> show databases;
    +-----------------------+
    | Database |
    +-----------------------+
    | DatabaseOne |
    | DatabaseTwo |
    +-----------------------+
    

    如果你想复制"DatabaseOne"数据库到新的第二个Mysql数据库实例中,那么可以这样:

    步骤1

    先导出数据库

    mysqldump -u root -p DatabaseOne > databaseOne.sql
    

    步骤2

    进入第二个mysql实例并创建一个数据库,然后导入sql:

    mysql -u root --port=3307 -h 127.0.0.1 -p
    mysql > create database DatabaseOne
    mysql > exit;
    

    步骤3

    从外部导入数据库第二个实例中

    mysql -u root --port=3307 -h 127.0.0.1 -p DatabaseOne < databaseOne.sql
    

    总结
    这样,我们可以成功地创建MySQL数据库实例并对两者数据库进行转换。我们可以遵循相同的方法来创建多个数据库实例。

    英文原文://www.codeproject.com/Tips/1063881/MySQL-Double-Instance-Creation-and-Database-Transf

    译文地址://www.cfage.com/1296.html

    转载请注明英文和译文地址

    标签:

    上一篇:

    下一篇:

    相关推荐

    3 Comments

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    0 + 0 = ?

    网站地图|广东快乐10分开奖直播

    Copyright © 2015-2019 广东快乐10分开奖直播 All rights reserved.
    闽ICP备15015576号-1,版权所有?psz.

  • 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 篮彩让分胜负二窜一 牛牛720lu刺激偷拍 甘肃快3开奖结果 天津时时彩 七星彩基本走势图连线彩票2元网 东方五分彩走势 福彩3d字迷 香港六合彩137期 任选9场奖金多少怎么看 体彩快中彩中奖规则 体彩七星彩开奖号码 二分彩计划全天计划 重庆百变王牌直播开奖记录 七星彩开奖结果 江西新时时彩分位走势 彩票双色球开奖