MySQL多实例部署
来源:互联网 发布:会员软件制度 编辑:程序博客网 时间:2024/05/21 20:26
mysql的多实例有两种方式可以实现,两种方式各有利弊。
第一种是使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便。
第二种是通过官方自带的mysqld_multi使用单独的配置文件来实现多实例,这种方式定制每个实例的配置不太方面,优点是管理起来很方便,集中管理
第一种使用多个配置文件启动多个进行
1.安装编译好数据库
2.进行数据库初始化
/usr/local/mysql_3306/bin/mysql_install_db --basedir=/usr/local/mysql_3306 --datadir=/data/dbdata_3306 --user=mysql
/usr/local/mysql_3307/bin/mysql_install_db --basedir=/usr/local/mysql_3307 --datadir=/data/dbdata_3307 --user=mysql
/usr/local/mysql_3308/bin/mysql_install_db --basedir=/usr/local/mysql_3308 --datadir=/data/dbdata_3308 --user=mysql
3.分别创建各自的配置文件(需要指定各自的数据目录,端口,socket文件)
vim /data/dbdata_3306/my.cnf
vim /data/dbdata_3307/my.cnf
vim /data/dbdata_3308/my.cnf
4.通过配置问题启动各个实例
/bin/sh /usr/local/mysql_3306/bin/mysqld_safe --defaults-file=/data/dbdata_3306/my.cnf &
/bin/sh /usr/local/mysql_3307/bin/mysqld_safe --defaults-file=/data/dbdata_3307/my.cnf &
/bin/sh /usr/local/mysql_3308/bin/mysqld_safe --defaults-file=/data/dbdata_3308/my.cnf &
关闭不同的实例
a.kill -9 进程ID
b./bin/sh /usr/local/mysql_3306/bin/mysqladmin -u ${mysql_username} -p${mysql_password} -S /data/dbdata_${mysql_port}/mysql.sock shutdown
问题:
1.mysql初始化报错
Neither host 'ip-10-146-22-118' nor 'localhost' could be looked up with
/usr/bin/resolveip
修改 /etc/hostname文件中的内容ip-10-146-22-118给修改为127.0.0.1就行了
2.Fatal error: Can't change to run as user 'mysql'. Please check that the user exists!
mysql 用户已经存在,老是提示这个错误,通过修改my.cnf文件 指定user=root 解决问题
第二种方式通过官方自带的mysql_multi进行配置
1.安装和初始化数据库与第一种方式一样
2.编辑配置文件(三个实例的配置文件放在一起)
vi /etc/my.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = admin
password = password
[mysqld1] //定义实例3306
socket /data/dbdata_3306/mysql.sock
port = 3306
pid-file = /data/dbdata_3306/3306.pid
datadir = /data/dbdata_3306
..........
[mysqld2] //定义实例3307
socket /data/dbdata_3307/mysql.sock
port = 3307
pid-file = /data/dbdata_3307/3307.pid
datadir = /data/dbdata_3307
..........
[mysqld3] //定义实例3308
socket /data/dbdata_3308/mysql.sock
port = 3308
pid-file = /data/dbdata_3308/3308.pid
datadir = /data/dbdata_3308
..........
3.启动各个实例
/usr/local/mysql/bin/mysqld_multi start 1
/usr/local/mysql/bin/mysqld_multi start 2
/usr/local/mysql/bin/mysqld_multi start 3
或者
/usr/local/mysql/bin/mysqld_multi start 1-3
- MySQL多实例部署
- mysql 5.5多实例部署
- mysql 5.5多实例部署
- mysql 5.5多实例部署
- mysql 5.5多实例部署
- mysql 安装及多实例部署
- MySQL单机多实例方案部署
- Mysql 数据库单机多实例部署手记
- Mysql 5.5多实例部署步骤
- MySQL 安装及其单机多实例部署
- 部署MySQL双实例
- Cmake编译安装MySQL&mysqld_multi部署MySQL多实例方案
- Linux下MySql多实例免安装部署
- Linux下MySql多实例免安装部署
- Linux下MySql多实例免安装部署
- MySQL 使用mysqld_multi部署单机多实例详细过程
- MySQL 使用mysqld_multi部署单机多实例详细过程
- Linux下MySQL多实例免安装部署
- Java SE学习笔记:创建(Thread/Runable),线程安全,线程同步,同步锁机制
- HDU 1203 和 HDU 2191
- 检查当前的网络状态
- Linux搭建Jenkins平台
- 用两个栈实现队列
- MySQL多实例部署
- 【软件测试】白盒测试简介以及方法简介
- OpenGL Shadow 阴影基础
- LCD背光亮,黑屏问题
- 全局变量,extern和static以及命名空间的区别
- POJ 2823 Sliding Window(单调队列)
- Java SE学习笔记:线程通信、生产者与消费者案例、线程状态(线程的生命周期)、线程操作、Condition类
- show dmvpn---Display DMVPN session related information
- 30分钟初步掌握LaTeX--转自新浪博客