多配置文件部署mysql单机多实例

1.安装gcc-c++、ncurses依赖包

# yum install gcc-c++  ncurses-devel

2.安装cmake,用来编译mysql

# tar -xvf cmake-3.2.0-.tar.gz
# mv cmake-3.2.0 cmake
# mv cmake /tmp/
# cd /tmp/cmake/
# ./bootstrap
# make
# make install
# cmake --version

3.安装bison

# tar -xvf bison-3.0.tar.gz
# mv bison-3.0 bison
# mv bison /tmp
# cd /tmp/bison/
# ./cofigure
# make
# make install
# bison --version

4.创建mysql用户

# /usr/sbin/groupadd mysql
# useradd -s /sbin/nologin -g  mysql -M mysql

5.编译安装

配置

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql 

生成可执行文件

# make

安装

# make install

6.创建多实例的数据文件目录

# mkdir -p /data/{3306,3307}/data/
# mkdir -p /data/{3306,3307}/log/
# tree /data
/data                            #多实例的根目录
├── 3306                         #3306实例的根目录
│   ├── data                     #3306实例的数据目录
│   └── log                      #3306实例的日志目录
│   └── tmp                      #3306实例的临时文件目录
└── 3307                         #3307实例的根目录
    ├── data                     #3307实例的数据目录
    └── log                      #3307实例的日志目录
    └── tmp                      #3307实例的临时文件目录

data  - 存放数据文件:数据,索引,二进制日志(bin log),重放日志(replay log)。
log    - 存放日志文件:慢查询日志,错误日志。
tmp  - 存放临时文件:进程ID文件。

7.配置多实例的配置文件
为每个实例建立一个配置文件

# vi /data/3306/my.cnf
[client]
default-character-set = utf8
port = 3306
socket = /data/3306/tmp/mysql.sock

[mysqld]
server-id = 1
collation-server = utf8_unicode_ci
init-connect = ‘SET NAMES utf8‘
character-set-server = utf8
port        = 3306
socket      = /data/3306/tmp/mysql.sock
datadir     = /data/3306/data/
log-error   = /data/3306/log/mysql.err
pid-file     = /data/3306/tmp/mysql.pid
log-bin     = /data/3306/data/mysql-bin
relay_log     = /data/3306/data/relay-bin
slow_query_log_file = /data/3306/log/slowquery.log
general_log_file     = /data/3306/log/general.log

skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
binlog_format = mixed
slow_query_log = 1
long_query_time = 1
general_log = off

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
# vi /data/3307/my.cnf
[client]
default-character-set = utf8
port = 3307
socket = /data/3307/tmp/mysql.sock

[mysqld]
server-id = 2
collation-server = utf8_unicode_ci
init-connect = ‘SET NAMES utf8‘
character-set-server = utf8
port        = 3307
socket      = /data/3307/tmp/mysql.sock
datadir     = /data/3307/data/
log-error   = /data/3307/log/mysql.err
pid-file     = /data/3307/tmp/mysql.pid
log-bin     = /data/3307/data/mysql-bin
relay_log     = /data/3307/data/relay-bin
slow_query_log_file = /data/3307/log/slowquery.log
general_log_file     = /data/3307/log/general.log

skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
binlog_format = mixed
slow_query_log = 1
long_query_time = 1
general_log = off

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

8.配置多实例的文件权限
授权mysql用户和组管理多实例目录/data

# chown -R mysql.mysql /data

9.配置mysql命令的环境变量
方法一:

# echo ‘export PATH=/usr/local/mysql/bin:$PATH‘ >> /etc/profile# source /etc/profile

方法二:
把/usr/local/mysql/bin/下面的命令拷贝到全局系统命令路径/usr/local/sbin/下,或者做个link

10.初始化数据库,创建基础的数据库文件

# cd /usr/local/mysql/scripts/

#./mysql_install_db --defaults-file=/data/3306/my.cnf --user=mysql --basedir=/usr/local/mysql

#./mysql_install_db --defaults-file=/data/3307/my.cnf --user=mysql --basedir=/usr/local/mysql

11.启动

# mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 > /dev/null &

# mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 > /dev/null &

12.修改的root用户的密码并且限制只能本机登陆

# mysqladmin -S /data/3306/tmp/mysql.sock -u root -h ‘localhost‘ password ‘xxxx‘

# mysqladmin -S /data/3307/tmp/mysql.sock -u root -h ‘localhost‘ password ‘xxxx‘

13.使用root用户登陆

# mysql -S  /data/3306/tmp/mysql.sock -u root -p

# mysql -S  /data/3307/tmp/mysql.sock -u root -p

14.停止实例

# mysqladmin -S /data/3306/tmp/mysql.sock -u root -p shutdown

# mysqladmin -S /data/3307/tmp/mysql.sock -u root -p shutdown

  

时间: 2024-07-29 10:25:10

多配置文件部署mysql单机多实例的相关文章

amoeba针对MySQL单机多实例配置文件注释

MySQL单机多实例的读写分离可以通过第三方软件来实现,其中一个叫简单的读写分离软件就是今天所带给大家的amoeba软件. 本次使用的amoeba软件为amoeba-mysql-binary-2.1.0-RC5.tar.gz 本软件是基于JAVA环境运行的,所以需要JAVA环境支持,具体环境配置不做详解. 本文主要解释两个主配置文件. 1.dbServer.xml 这个文件配置的是父配置(用来给默认子配置补充配置项) 真实mysql服务器的端口,数据库名称,mysql用户及密码 主服务器,从服务

MySQL单机多实例配置实战

本文主要介绍在CentOS6.9下快速安装和部署MySQL多实例 基本流程: 1.Mysql多实例介绍 2.安装MySQL多实例 3.创建MySQL多实例的数据文件目录以及配置文件 4.创建MySQL多实例的启动文件 5.配置文件权限和软链接 6.初始化MySQL多实例的数据库文件 7.启动MySQL多实例数据库 8.配置和管理MySQL多实例数据库 流程一:Mysql多实例介绍 简单的说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(如 : 3306/3307/3308)同时运

MySQL单机多实例安装并配置主从复制

单机多实例据说可以最大程度提高硬件使用,谁知道呢,但是以前的公司喜欢这样搞,我最近也在学习复制什么的,电脑搞不起两台虚拟机,刚好单机多实例可以解救我.下面就说说步骤. 承上文http://www.cnblogs.com/wingsless/p/4002806.html,我已经安装好了MySQL,不过这个是单实例的,要更改也可以,但是担心会出现问题,于是我将下面的东西删掉: 1 #rm -f /etc/init.dmysql 2 $rm -f /home/mysql/data 建立这么几个目录:

MySQL单机多实例部署

一.MySQL多实例部署 版本:5.7.18 1.软件安装 # tar xf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local # cd /usr/local # chown -R root.root mysql-5.7.18-linux-glibc2.5-x86_64 # ln -sv mysql-5.7.18-linux-glibc2.5-x86_64 mysql5.7.18 # mkdir /data/{mydata3307,m

MySQL单机多实例部署详解

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

MySQL单机多实例的配置笔记

网上的大部分都是mysqld_multi方式启动的多实例. 以前在老男孩老师的视频里看到的另一种方法,如下. 参考:http://www.ilanni.com/?p=8020 环境 CentOS6.7x86_64[2.6.32-573.el6.x86_64] mysql-5.6.30通用二进制安装包 创建mysql的独立配置文件目录 mkdir /data/{3306,3307} -pv 建立账户 groupadd mysql useradd -s /sbin/nologin -g mysql

MySQL单机多实例配置

1.安装说明 (1).将所有的安装文件.配置文件.数据目录全部放存/data/mysql目录中,便于今后实现快速迁移.整体备份和快速复制: (2).在一台服务器上运行四个MySQL实例,分别绑定在3306.3307.3308.3309端口上 (3).四个实例都开启binlog日志,数据目录分别存放在/data/mysql/data1./data/mysql/data2./data/mysql/data3./data/mysql/data4 (4).四个实例均采用InnoDB作为默认的存储引擎,字

mysql单机多实例

1.单机启动多个mysql的好处 充分利用单机的计算能力 可以有效的分配不同的逻辑到不同的mysql提高数据库并行处理能力 单机也可以方便的实现主从备份 //用mysqld_multi是推荐做法 使用mysqld_multi进行控制数据库的开启关闭.  // mysqld_multi start 1,2 启动1,2两个数据库. 相关链接: http://www.3lian.com/edu/2013/08-31/93790.html  //good http://blog.chinaunix.ne

mysql 单机多实例配置

如果你想在一台机器上进行主从配置实验,本篇可以帮助你实现愿望 [client] #password = your_password port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock datadir = /data/mysqldata skip-external-locking key_buffer_size = 64M max_allowed_packet = 1M table_o