热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

一台MySQL数据库启动多个实例

一台数据库服务器为什么运行多个实例?有一台MySQL数据库服务器硬件利用率往往在30%左右,那剩余的70%岂不是浪费了,这时就可以考虑运行多个MySQL服务,你可以做主从架构,读写分离,数据库隔离,容纳更多的并发链接,充分利用硬件资源,让服务器性能发挥

一台数据库服务器为什么运行多个实例? 有一台MySQL数据库服务器硬件利用率 往往 在30%左右,那剩余的70%岂不是浪费了,这时就可以考虑运行多个MySQL服务,你可以做主从架构,读写分离,数据库隔离,容纳更多的并发链接,充分利用硬件资源,让服务器性能发挥

一台数据库服务器为什么运行多个实例?

有一台MySQL数据库服务器硬件利用率往往在30%左右,那剩余的70%岂不是浪费了,这时就可以考虑运行多个MySQL服务,你可以做主从架构,读写分离,数据库隔离,容纳更多的并发链接,充分利用硬件资源,让服务器性能发挥最大化。

1、编译安装MySQL5.5

# yum install -y cmake gcc gcc-c++ make cmake ncurses ncurses-devel
# groupadd mysql
# useradd -g mysql -s /sbin/nologin mysql
# tar zxvf mysql-5.5.31.tar.gz
# cd mysql-5.5.31
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5 -DSYSCOnFDIR=/usr/local/mysql5.5/etc -DMYSQL_DATADIR=/usr/local/mysql5.5/data
# make && make install
#  mkdir /usr/local/mysql5.5/etc
# cp support-files/my-medium.cnf /usr/local/mysql5.5/etc/my.cnf
# chown -R mysql.mysql /usr/local/mysql5.5/
# echo ‘PATH=$PATH:/usr/local/mysql5.5/bin' >> /etc/profile
# source /etc/profile

3、初始化数据库实例

# mkdir /usr/local/mysql5.5/data3306    #创建数据库数据目录
# mkdir /usr/local/mysql5.5/data3307
# /usr/local/mysql5.5/scripts/mysql_install_db --basedir=/usr/local/mysql5.5/ --datadir=/usr/local/mysql5.5/data3306/ --user=mysql
# /usr/local/mysql5.5/scripts/mysql_install_db --basedir=/usr/local/mysql5.5/ --datadir=/usr/local/mysql5.5/data3307/ --user=mysql

2、配置多实例信息并使用mysqld_multi工具集中管理

# cd /usr/local/mysql5.5/etc/
# vi my.cnf
[mysqld_multi]
mysqld = /usr/local/mysql5.5/bin/mysqld_safe
mysqladmin = /usr/local/mysql5.5/bin/mysqladmin
user = root       #登陆数据库用户
password = 123      #登陆数据库密码,用于关闭数据库,两台数据库密码设置一样
[mysqld1]
user = mysql
port = 3306
socket = /tmp/mysql3306.sock
pid-file = /usr/local/mysql5.5/data3306/mysql.pid
basedir = /usr/local/mysql5.5
datadir = /usr/local/mysql5.5/data3306
log_error = /var/log/mysql/3306_error.log
[mysqld2]
user = mysql
port = 3307
socket = /tmp/mysql3307.sock
pid-file = /usr/local/mysql5.5/data3307/mysql.pid
basedir = /usr/local/mysql5.5
datadir = /usr/local/mysql5.5/data3307
log_error = /var/log/mysql/3307_error.log

3、启动实例1,2

# 单个实例启动或关闭
# mysqld_multi --defaults-file=/usr/local/mysql5.5/etc/my.cnf start/stop 1
# mysqld_multi --defaults-file=/usr/local/mysql5.5/etc/my.cnf start/stop 2
# 双实例同时启动或关闭
# mysqld_multi --defaults-file=/usr/local/mysql5.5/etc/my.cnf start/stop 1,2
# 查看MySQL是否启动
# mysqld_multi --defaults-file=./my.cnf report 1,2
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is running
# netstat -antp |grep mysql
tcp  0    0 0.0.0.0:3306  0.0.0.0:*   LISTEN      20896/mysqld    
tcp  0    0 0.0.0.0:3307  0.0.0.0:*   LISTEN      21499/mysqld
# 加入开机启动
echo "/usr/local/mysql5.5/mysqld_multi --defaults-file=/usr/local/mysql5.5/etc/my.cnf start 1,2" >> /etc/rc.local

注:如果不想用mysqld_multi工具,可以独立实例配置文件,自己启动或关闭,如下:

# /usr/local/mysql5.5/bin/mysqld_safe --defaults-extra-file=/usr/local/mysql5.5/etc/my3306.cnf --datadir=/usr/local/mysql5.5/data3306/ --user=mysql &
# mysqladmin -uroot -p123 -S/tmp/mysql3306.sock shutdown

4、本地登录

# 首次登录先设置密码
# mysql -S /tmp/mysql3306.sock -P 3307 -uroot -p    #直接回车进入
mysql> set password=password('123');
# mysql -S /tmp/mysql3307.sock -P 3307 -uroot -p
mysql> set password=password('123');

5、远程登录(先开启远程访问权限)

mysql> grant all on *.* to'root'@'%' identified by '123';
# mysql -h 192.168.1.10 -P 3306 -uroot -p123
# mysql -h 192.168.1.10 -P 3307 -uroot -p123

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 数据库(外键及其约束理解)(https:www.cnblogs.comchenxiaoheip6909318.html)My ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • yum安装_Redis —yum安装全过程
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Redis—yum安装全过程相关的知识,希望对你有一定的参考价值。访问https://redi ... [详细]
author-avatar
童画小欧_904
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有