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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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

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

1、编译安装MySQL5.5

1
2
3
4
5
6
7
8
9
10
11
12
# 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、初始化数据库实例

1
2
3
4
# 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工具集中管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 单个实例启动或关闭
# 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工具,可以独立实例配置文件,自己启动或关闭,如下:

1
2
# /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、本地登录

1
2
3
4
5
# 首次登录先设置密码
# 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、远程登录(先开启远程访问权限)

1
2
3
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


本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1636016,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
5月前
|
存储 关系型数据库 MySQL
环比、环比增长率、同比、同比增长率 ,占比,Mysql 8.0 实例(最简单的方法之一)(sample database classicmodels _No.2 )
环比、环比增长率、同比、同比增长率 ,占比,Mysql 8.0 实例(最简单的方法之一)(sample database classicmodels _No.2 )
282 1
|
5月前
|
SQL 前端开发 关系型数据库
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
127 0
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
|
4月前
|
负载均衡 网络协议 数据库
选择适合自己的数据库多实例负载均衡技术
【10月更文挑战第23天】选择适合自己的数据库多实例负载均衡技术需要全面考虑多种因素。通过深入的分析和评估,结合自身的实际情况,能够做出明智的决策,为数据库系统的高效运行提供有力保障。
165 61
|
4月前
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
176 57
|
4月前
|
缓存 负载均衡 监控
数据库多实例的负载均衡技术深入
【10月更文挑战第23天】数据库多实例负载均衡技术是确保数据库系统高效运行的重要手段。通过合理选择负载均衡策略、实时监控实例状态、不断优化调整,能够实现资源的最优分配和系统性能的提升。在实际应用中,需要根据具体情况灵活运用各种负载均衡技术,并结合其他相关技术,以满足不断变化的业务需求。
|
5月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
183 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
4月前
|
关系型数据库 MySQL 数据库
【赵渝强老师】启动与关闭MySQL数据库实例
MySQL数据库安装完成后,可以通过命令脚本启动、查看状态、配置开机自启、查看自启列表及关闭数据库。本文提供了详细的操作步骤和示例代码,并附有视频讲解。
|
4月前
|
关系型数据库 MySQL OLAP
快速入门:搭建你的第一个AnalyticDB实例
【10月更文挑战第25天】在大数据时代,高效的在线分析处理(OLAP)成为企业决策的关键。AnalyticDB是阿里云推出的一款完全托管的实时数据仓库服务,它能够支持PB级的数据量和高并发的查询需求。作为一名数据工程师,我有幸在工作中使用了AnalyticDB,并积累了丰富的实践经验。本文将从个人角度出发,详细介绍如何快速搭建你的第一个AnalyticDB实例,包括创建实例、连接数据库、导入数据和执行简单查询等步骤。
228 0
|
5月前
|
存储 关系型数据库 MySQL
mysql 8.0 的 建表 和八种 建表引擎实例
mysql 8.0 的 建表 和八种 建表引擎实例
67 0

热门文章

最新文章