mysql单机多实例
在数据库服务器上,可以架构多个Mysql服务器,进行单机多实例的读写分离;
可以通过mysqld_multi来进行多实例的管理,mysqld_multi是用perl写的脚本,原理是通过mysql_admin来进行多个数据库的操作;多实例的配置文件也有点不同,可以看作是多个mysql配置的集合;mysqld_multi命令使用如下:
mysqld_multi report/start/stop
可以使用 mysqld_multi --example来查看配置文件的例子;也可以直接复制下来当作自己的配置;注意备份以前的配置;
mv /etc/my.cnf /etc/my.cnf.bak
mysqld_multi --example > /etc/my.cnf
按自己的需要修改配置文件,改成多个数据库;
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = multi_admin
password = my_password [mysqld1]
socket = /tmp/mysql1.sock
port = 3306
pid-file = /data2/mysql1/mysql.pid
datadir = /data2/mysql1 [mysqld2]
socket = /tmp/mysql2.sock
port = 3307
pid-file = /data2/mysql2/mysql.pid
datadir = /data2//mysql2
这里多出了一个[mysqld_multi]的配置项,需要在每个数据库里配置一个multi_admin来管理mysql
下面新建数据库:
mysql_install_db --user=mysql --datadir=/data2/mysql1
mysql_install_db --user=mysql --datadir=/data2/mysql2
启动mysql服务器
mysqld_multi start 1,2
这个时候使用 mysqld_report来查看是否已启动是会失败的,因为还没有新建 multi_admin来查询状态;我们可以通过 netstat来查看端口
# netstat -tulnp | grep mysql
tcp 0 0 :::3306 :::* LISTEN 716784/mysqld
tcp 0 0 :::3307 :::* LISTEN 3669/mysqld
tcp 0 0 :::3317 :::* LISTEN 714503/mysqld
可以看到3306和3307端口已经监听;同时目录下生成了相应的.socket文件;
下面我们可以连接mysql来配置multi_admin用户;由于有多个实例,连接需要使用socket连接
mysql -u root -S /tmp/mysql1.sock
grant shutdown on *.* to multi_admin@'localhost' identified by'my_password';
flush privileges;
quit
同样道理配置另一台3307;
也可以拷贝一份mysql来创建新的实例,这样里面的用户也会被拷贝。注意目录权限必须是mysql , chown -R mysql.mysql /data2/mysql2
下面可以使用
mysqld_multi --defaults-file=/etc/my.cnf start 启动全部实例
如果启动出错的话,可以到对应目录下查看日志文件,看哪里出错了。
使用mysqld_multi需要手动启动数据库,也可以加入开机启动项:
echo "mysqld_multi" >> /etc/rc.local
mysql单机多实例的更多相关文章
- MySQL单机多实例安装并配置主从复制
单机多实例据说可以最大程度提高硬件使用,谁知道呢,但是以前的公司喜欢这样搞,我最近也在学习复制什么的,电脑搞不起两台虚拟机,刚好单机多实例可以解救我.下面就说说步骤. 承上文http://www.cn ...
- mysqld_multi部署mysql单机多实例
1.安装gcc-c++.ncurses依赖包 # yum install gcc-c++ ncurses-devel 2.安装cmake,用来编译mysql # tar -xvf cmake-3.2. ...
- 多配置文件部署mysql单机多实例
1.安装gcc-c++.ncurses依赖包 # yum install gcc-c++ ncurses-devel 2.安装cmake,用来编译mysql # tar -xvf cmake-3.2. ...
- mysql单机多实例配置
Windows上配置多个mysql实例,主要改下配置文件即可,mysql目录如下: my2中主要改两个配置内容 datadir = D:/Program Files/Mysql/mysql-5.7.2 ...
- MySQL单机单实例安装脚本(转载)
说明:使用mysql generic tar.gz包快速安装mysql 三个文件installation_of_single_mysql.sh.template_install-my.cnf.mysq ...
- MySQL单机单实例安装脚本
说明:使用mysql generic tar.gz包快速安装mysql 三个文件installation_of_single_mysql.sh.template_install-my.cnf.mysq ...
- mysql 单机多实例配置
如果你想在一台机器上进行主从配置实验,本篇可以帮助你实现愿望 [client] #password = your_password port = 3306 socket = /tmp/mysql.so ...
- mysql 单机多实例重启数据库服务
1.# cat db.txtbackend 3310base 3320storage 3330payment 3340promotion 3350 2.# cat restart_mysql_slav ...
- 使用mysqld_multi 实现Mysql 5.6.36 + 5.7.18 单机多实例多版本安装
Mysql 5.6.36 + 5.7.18 单机多实例多版本安装 随着硬件层面的发展,各种高性能服务器如雨后春笋般出现,但高性能服务器不免造成浪费, MySQL单机多实例,是指在一台物理服务器上运行多 ...
随机推荐
- [Functional Programming] Using Last monoid with Maybe
Imaging we have a deck of cards, eveytimes we need to pick one card from deck, the result we want to ...
- 微信、支付宝App支付-JPay0.0.2发布
JPay 对微信App支付.支付宝App支付的二次封装,对外提供一个相对简单的接口以及支付结果的回调 GitHub:https://github.com/Javen205/JPay OsChina:h ...
- angular5中使用全局变量
创建全局变量ts文件,然后引入 创建globals.ts文件: export const base_path = "http://localhost/api/index.php/Home&q ...
- iOS开发点滴 - 关闭键盘
有时候系统显示的键盘会挡住视图中某些重要的控件,这个时候当用户按下换行键,就应该取消UITextField对象的第一响应(First Responder)状态而关闭键盘. 1. 首先,视图控制器必须遵 ...
- WebStorm 之 Cordova 环境搭建
一.环境搭建 Cordova 环境配置之前,应先下载安装 Node.js ,中文官网:http://nodejs.cn/. 以管理员身份运行 cmd 命令行工具: 1.查看 Node.js 是否已安装 ...
- [置顶] 单例模式lua实现
--[[ 优点 一.实例控制 单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例. 二.灵活性 因为类控制了实例化过程,所以类可以灵活更改实例化过程. 缺点 一.开销 ...
- app_offline.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DT ...
- 前台登录和Token信息交互流程
原来总是对前台登录,怎么利用token有点迷惑,后面仔细的想了一遍,把自己简单的想法记录下来,留作记录,以便后续优化 各路大神有什么看法也可以说,能更完善整个流程. 不说了,暴力的上图: 该图是出自c ...
- css改变hr颜色
html中用css改变颜色,<hr style="border:0;height:1px;">如果不加border:0;的话,虽然颜色改变了,但是会显示一条黑色的边框. ...
- MongoDB副本集配置系列二:配置MongoDB副本集
接上一篇博客: http://www.cnblogs.com/xiaoit/p/4479066.html 1:首先创建3台虚拟机作为配置环境 IP1:192.168.91.128 IP2:192.16 ...