mysql数据库多实例部署

本文系统:rhel5.8

ip : 192.168.100.150

数据库版本:mysql-5.6.15

1、创建部署mysql服务账号:

[[email protected] ~]# useradd -d /opt/mysql mysql
[[email protected] ~]# echo "mysql" |passwd --stdin mysql
Changing password for user mysql.
passwd: all authentication tokens updated successfully.

2、解压无需免装包:配置环境变量

[[email protected] ~]$ tar zxvf mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz
[[email protected] ~]$ mv mysql-5.6.15-linux-glibc2.5-x86_64 mysql-5.6.15

[[email protected] mysql-5.6.15]$ vim ~/.bash_profile

MYSQL_HOME=/opt/mysql/mysql-5.6.15
export MYSQL_HOME

PATH=$MYSQL_HOME/bin:$PATH
export PATH

3、配置多实例数据库配置文件

[[email protected] ~]# mkdir /Data_for_Mysql
[[email protected] ~]# chown mysql.mysql -R /Data_for_Mysql/
[[email protected] ~]# su - mysql
[[email protected] ~]$ mkdir -p /Data_for_Mysql/3301/data /Data_for_Mysql/3301/logs
[[email protected] ~]$ touch /Data_for_Mysql/3301/my.cnf
[[email protected] ~]$ mkdir -p /Data_for_Mysql/3302/data /Data_for_Mysql/3302/logs
[[email protected] ~]$ touch /Data_for_Mysql/3302/my.cnf

目录结构:

[[email protected] Data_for_Mysql]$ pwd
/Data_for_Mysql
[[email protected] Data_for_Mysql]$ tree
.
|-- 3301
|   |-- data
|   |-- logs
|   `-- my.cnf
`-- 3302
    |-- data
    |-- logs
    `-- my.cnf

6 directories, 2 files
[[email protected] Data_for_Mysql]$

配置my.cnf ######本配置文件只供参考

[[email protected] 3301]$ vim /Data_for_Mysql/3301/my.cnf
[client]
port = 3301
socket = /Data_for_Mysql/3301/data/mysql.sock
[mysqld]
user=msql
port=3301
bind-address=192.168.100.150
socket = /Data_for_Mysql/3301/data/mysql.sock.3301
pid-file = /Data_for_Mysql/3301/data/mysql.pid
basedir = /opt/mysql/mysql-5.6.15
datadir = /Data_for_Mysql/3301/data
server-id=1
log-bin=mysql-bin
log-bin-index= mysql-bin.index

# LOGGING
log_error=/Data_for_Mysql/3301/logs/mysql-error.log
slow_query_log_file= /Data_for_Mysql/3301/logs/mysql-slow.log
slow_query_log=1

character-sets-dir = /opt/mysql/mysql-5.6.15/share/charsets
back_log = 2000
max_connections = 1000
connect-timeout = 60
wait-timeout = 28800
net_buffer_length = 16384
max_allowed_packet = 64M
thread_stack = 192K
thread_cache_size = 20
thread_concurrency = 128
query_cache_size = 256M
query_cache_limit = 2M
query_cache_min_res_unit = 2

default-time-zone = system
character-set-server = utf8
default-storage-engine = InnoDB

tmp_table_size = 512M
max_heap_table_size = 512M

max_binlog_size = 1G
max_relay_log_size = 1G

[mysql]
disable-auto-rehash
default-character-set = utf8
[[email protected] 3301]$ vim my.cnf
[[email protected] 3301]$
[[email protected] 3301]$ vim my.cnf
[[email protected] 3301]$
[[email protected] 3301]$ cat my.cnf
[client]
port = 3301
socket = /Data_for_Mysql/3301/data/mysql.sock
[mysqld]
user=mysql
port=3301
bind-address=192.168.100.150
socket = /Data_for_Mysql/3301/data/mysql.sock.3301
pid-file = /Data_for_Mysql/3301/data/mysql.pid
basedir = /opt/mysql/mysql-5.6.15
datadir = /Data_for_Mysql/3301/data
server-id=1
log-bin=mysql-bin
log-bin-index= mysql-bin.index

# LOGGING
log_error=/Data_for_Mysql/3301/logs/mysql-error.log
slow_query_log_file= /Data_for_Mysql/3301/logs/mysql-slow.log
slow_query_log=1

character-sets-dir = /opt/mysql/mysql-5.6.15/share/charsets
back_log = 2000
max_connections = 1000
connect-timeout = 60
wait-timeout = 28800
net_buffer_length = 16384
max_allowed_packet = 64M
thread_stack = 192K
thread_cache_size = 20
thread_concurrency = 128
query_cache_size = 256M
query_cache_limit = 2M
query_cache_min_res_unit = 2

default-time-zone = system
character-set-server = utf8
default-storage-engine = InnoDB

tmp_table_size = 512M
max_heap_table_size = 512M

max_binlog_size = 1G
max_relay_log_size = 1G

[mysql]
disable-auto-rehash
default-character-set = utf8

4、初始化数据库

[[email protected] scripts]$ pwd
/opt/mysql/mysql-5.6.15/scripts
[[email protected] scripts]$ ./mysql_install_db --defaults-file=/Data_for_Mysql/3301/my.cnf --user=mysql --basedir=/opt/mysql/mysql-5.6.15 --datadir=/Data_for_Mysql/3301/data/

5、启动3301实例数据库  ###启动数据库必须在mysql目录;

[[email protected] mysql-5.6.15]$ pwd
/opt/mysql/mysql-5.6.15
[[email protected] mysql-5.6.15]$ mysqld_safe --defaults-file=/Data_for_Mysql/3301/my.cnf --user=mysql --basedir=/opt/mysql/mysql-5.6.15 --datadir=/Data_for_Mysql/3301/data/ &

[[email protected] mysql-5.6.15]$ netstat -nat |grep 3301
tcp        0      0 192.168.100.150:3301        0.0.0.0:*                   LISTEN

Ps:3302 实例操作和上面一样,只需改动端口及相应目录即可;

3302配置文件:

[[email protected] 3302]$ cat my.cnf
[client]
port = 3302
socket = /Data_for_Mysql/3302/data/mysql.sock
[mysqld]
user=mysql
port=3302
bind-address=192.168.100.150
socket = /Data_for_Mysql/3302/data/mysql.sock.3302
pid-file = /Data_for_Mysql/3302/data/mysql.pid
basedir = /opt/mysql/mysql-5.6.15
datadir = /Data_for_Mysql/3302/data
server-id=1
log-bin=mysql-bin
log-bin-index= mysql-bin.index

# LOGGING
log_error=/Data_for_Mysql/3302/logs/mysql-error.log
slow_query_log_file= /Data_for_Mysql/3302/logs/mysql-slow.log
slow_query_log=1

character-sets-dir = /opt/mysql/mysql-5.6.15/share/charsets
back_log = 2000
max_connections = 1000
connect-timeout = 60
wait-timeout = 28800
net_buffer_length = 16384
max_allowed_packet = 64M
thread_stack = 192K
thread_cache_size = 20
thread_concurrency = 128
query_cache_size = 256M
query_cache_limit = 2M
query_cache_min_res_unit = 2

default-time-zone = system
character-set-server = utf8
default-storage-engine = InnoDB

tmp_table_size = 512M
max_heap_table_size = 512M

max_binlog_size = 1G
max_relay_log_size = 1G

[mysql]
disable-auto-rehash
default-character-set = utf8

3302 实例初始化;

[[email protected] scripts]$ pwd
/opt/mysql/mysql-5.6.15/scripts
[[email protected] scripts]$ ./mysql_install_db --defaults-file=/Data_for_Mysql/3302/my.cnf --user=mysql --basedir=/opt/mysql/mysql-5.6.15 --datadir=/Data_for_Mysql/3302/data/

3302 启动该实例:

[[email protected] mysql-5.6.15]$ mysqld_safe --defaults-file=/Data_for_Mysql/3302/my.cnf --user=mysql --basedir=/opt/mysql/mysql-5.6.15 --datadir=/Data_for_Mysql/3302/data/ &

[[email protected] mysql-5.6.15]$ netstat -nat |grep 330
tcp        0      0 192.168.100.150:3301        0.0.0.0:*                   LISTEN
tcp        0      0 192.168.100.150:3302        0.0.0.0:*                   LISTEN

6、创建root密码,要区别实例

[[email protected] mysql-5.6.15]$ mysqladmin -uroot password ‘root123‘ -S /Data_for_Mysql/3301/data/mysql.sock.3301

6.1、关闭mysql,区别实例

[[email protected] mysql-5.6.15]$ mysqladmin -uroot -proot123 -S /Data_for_Mysql/3301/data/mysql.sock.3301 shutdown
Warning: Using a password on the command line interface can be insecure.
150402 15:44:52 mysqld_safe mysqld from pid file /Data_for_Mysql/3301/data/mysql.pid ended
[1]-  Done                    mysqld_safe --defaults-file=/Data_for_Mysql/3301/my.cnf --user=mysql --basedir=/opt/mysql/mysql-5.6.15 --datadir=/Data_for_Mysql/3301/data/
时间: 2024-10-27 15:22:48

mysql数据库多实例部署的相关文章

MySQL数据库多实例主从同步

本文主要介绍单台服务器MySQL数据库多实例的主从同步,一般常规做主从复制主从服务器在不同的机器上,并且监听端口均为默认的3306端口.一.环境介绍 操作系统:CentOS 6.5 数据库版本:MySQL 5.5.32 主库主机名称:mysql-master(172.18.10.222:3306) 从库主机名称:mysql-slave(172.18.10.222:3307) 二.主从同步原理介绍  简单描述主从复制原理: 1.在Slave服务器命令行执行start slave,开启主从复制开关

java web 程序---jsp连接mysql数据库的实例基础+表格显示

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="gb2312"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> <center>JSP连接mysql数据库</

MySQL数据库基础(四)——MySQL数据库创建实例

MySQL数据库基础(四)--MySQL数据库创建实例 一.创建数据库 1.创建数据库 创建数据库,指定数据库的默认字符集为utf8.create database schoolDB default character set utf8;连接数据库,客户端必须选择UTF8字符集.数据库中的三张表分别为学生表(student).课程表(TSubject).分数表(TScore). 2.创建学生表 CREATE TABLE `TStudent` ( `StudentID` varchar(15) N

MySQL数据库主从同步部署

MySQL数据库主从同步部署: 环境 Mater:   CentOS6.4  mysql5.5.38  192.168.107.133 Slave:   CentOS6.4  mysql5.5.38  192.168.107.135 1.导出主服务数据,将主备初始数据同步 master: //从master上导出需要同步的数据库信息 mysqldump -u*** -p*** --database test > test.sql //将master上的备份信息传输到slave上 scp /roo

MYSQL数据库多实例的安装配置mysql_multi启停实战

一.多实例的应用场景: 1.资金紧张型公司的选择 当公司业务访问量不太大,又舍不得花钱,但同时又希望不同业务的数据库服务各自独立,而且需要主从同步进行等技术提供备份或读写分离服务时,使用多实例是最好不过的. 2.并发访问不是特别大的业务 当公司业务访问量不太大,服务器资源基本闲置的比较多,这是就很适合多实例的应用.如果对SQL语句优化的好,多实例是一个很值得使用的技术.即使并发很大,只要合理分配好系统资源,也不会有太大问题. 二.mysql多实例的原理 mysql多实例,简单的说,就是在一台服务

MySQL 5.7--------多实例部署最佳实战

1. 背景 MySQL数据库的集中化运维,可以通过在一台服务器上,部署运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务.各个实例之间是相互独立的,每个实例的datadir, port, socket, pid都是不同的. 2. 多实例特点 * 有效利用服务器资源,当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务. * 资源互相抢占问题,当某个服务实例服务并发很高时或者开启慢查询时,会消耗更多的内存.CPU.磁盘IO资源,导致服务器上的其他实例提供

MySQL单机多实例部署详解

一.mysql多实例的原理 mysql多实例,简单的说,就是在一台服务器上开启多个不同的mysql服务端口(如3306,3307),运行多个mysql服务进程.这些服务进程通过不同的socket监听不同的服务端口,来提供各自的服务. 这些mysql实例共用一套mysql安装程序,使用不同的my.cnf配置文件.启动程序.数据文件.在提供服务时,mysql多实例在逻辑上看来是各自独立的,各个实例之间根据配置文件的设定值,来取得服务器的相关硬件资源. 二.mysql多实例的特点 2.1 有效的利用服

配置MySQL数据库多实例

一.什么是mysql多实例 简单的说就是在一台机器上开启多个不同的服务端口(例如:3306.3307),运行多个mysql服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供各自的服务. 这些mysql多实例共用一套mysql安装程序,使用不同(也可以相同)的my.cnf配置文件.启动程序.数据文件.在提供服务时,多实例mysql在逻辑上看来是各自独立的,多个实例是根据配置文件中配置的参数来获取服务器相关硬件资源. 二.mysql常见应用场景 由于公司业务访问量不是很大,服务器的

wamp集成环境下mysql数据库的分开部署和远程访问

今天折腾了一天一个小问题,就是明明正确的php代码在访问数据库的时候总是提示DB ERROR.后来才发现是填写数据库名的时候,写成了该数据库的ip地址(其实也是本机ip但是本机还是不能访问),而不是localhost. 归根到底这个问题的根源是mysql未开启远程访问,开启的具体方法为: D:\wamp\Apache2\conf\alias\phpmyadmin.conf 找到 deny from all allow from all 这两行删除改为 allow from all 另外,mysq