Mysql安装--多实例安装【3】

根据单实例进行变更,主要变化文件为my.cnf文件和mysql文件

多实例以端口区分

需要注意下面文件内的端口的更改,和用户密码更改

my.cnf

[client]
port            = 3306
socket          =/data/3306/mysql.sock
 
[mysql]
no-auto-rehash
 
[mysqld]
user    = mysql
port    = 3306
socket  =/data/3306/mysql.sock
basedir = /application/mysql
datadir = /data/3306/data
open_files_limit    = 1024
back_log = 600
max_connections = 800
max_connect_errors = 3000
table_open_cache = 614
external-locking = FALSE
max_allowed_packet =8M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 100
thread_concurrency = 2
query_cache_size = 2M
query_cache_limit = 1M
query_cache_min_res_unit = 2k
#default_table_type = InnoDB
thread_stack = 192K
#transaction_isolation = READ-COMMITTED
tmp_table_size = 2M
max_heap_table_size = 2M
long_query_time = 1
#log_long_format
#log-error = /data/3306/error.log
#log-slow-queries = /data/3306/slow.log
pid-file = /data/3306/mysql.pid
log-bin = /data/3306/mysql-bin
relay-log = /data/3306/relay-bin
relay-log-info-file = /data/3306/relay-log.info
binlog_cache_size = 1M
max_binlog_cache_size = 1M
max_binlog_size = 2M
expire_logs_days = 7
key_buffer_size = 16M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
bulk_insert_buffer_size = 1M
#myisam_sort_buffer_size = 1M
#myisam_max_sort_file_size = 10G
#myisam_max_extra_sort_file_size = 10G
#myisam_repair_threads = 1
#myisam_recover
 
lower_case_table_names = 1
skip-name-resolve
slave-skip-errors = 1032,1062
replicate-ignore-db=mysql
 
server-id = 1
 
innodb_additional_mem_pool_size = 4M
innodb_buffer_pool_size = 32M
innodb_data_file_path = ibdata1:128M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 4M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0
[mysqldump]
quick
max_allowed_packet = 2M
 
[mysqld_safe]
log-error=/data/3306/mysql_oldboy3306.err
pid-file=/data/3306/mysqld.pid

mysql文件

#!/bin/sh
################################################
#this scripts is created by oldboy at 2007-06-09
#oldboy QQ:31333741
#site:http://www.etiantian.org
#blog:http://oldboy.blog.51cto.com
#oldboy trainning QQ group: 208160987 226199307  44246017
################################################
 
#init
port=3306
mysql_user="root"
mysql_pwd="oldboy"
CmdPath="/application/mysql/bin"
mysql_sock="/data/${port}/mysql.sock"
#startup function
function_start_mysql()
{
    if [ ! -e"$mysql_sock" ];then
      printf "StartingMySQL...\n"
      /bin/sh${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 >/dev/null &
    else
      printf "MySQL isrunning...\n"
      exit
    fi
}
 
#stop function
function_stop_mysql()
{
    if [ ! -e"$mysql_sock" ];then
       printf "MySQL isstopped...\n"
       exit
    else
       printf "StopingMySQL...\n"
       ${CmdPath}/mysqladmin-u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown
   fi
}
 
#restart function
function_restart_mysql()
{
    printf "RestartingMySQL...\n"
    function_stop_mysql
    sleep 2
    function_start_mysql
}
 
case $1 in
start)
    function_start_mysql
;;
stop)
    function_stop_mysql
;;
restart)
    function_restart_mysql
;;
*)
    printf "Usage:/data/${port}/mysql {start|stop|restart}\n"
esac

1、删除/application/mysql/data/的数据

[[email protected] data]# rm -rf *
[[email protected] data]# pwd
/application/mysql/data
[[email protected] data]#
[[email protected] data]# ls

2、创建多实例的目录(端口区分)

mkdir /data/{3306,3307}/data -p

3、创建my.cnf mysql文件

[[email protected] 3306]# ls
data  my.cnf  mysql
[[email protected] 3306]#

4、复制相关文件my.cnf、mysql 到每个目录下

\cp /data/3306/my.cnf mysql /data/3307/

#保证是下面形式
[[email protected] data]# tree
.
├── 3306
│   ├── data
│   ├── my.cnf
│   └── mysql
├── 3307
      ├── data
     ├── my.cnf
     └── mysql

5、修改端口号与ID

#修改3307
sed -i ‘s/3306/3307/g‘ /data/3307/my.cnf
sed -i ‘s/server-id = 1/server-id = 7/g‘ /data/3307/my.cnf
sed -i ‘s/3306/3307/g‘ /data/3307/mysql

6、初始化

cd /application/mysql/scripts
./mysql_install_db --datadir=/data/3306/data--basedir=/application/mysql --user=mysql
./mysql_install_db --datadir=/data/3307/data--basedir=/application/mysql --user=mysql

7、授权

chown -R mysql.mysql /data/
find /data -type f -name mysql|xargs chmod 700

8、开启mysql

/data/3306/mysql start
/data/3307/mysql start

9、检查端口

[[email protected] scripts]# netstat -lnt|grep 330
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN     
tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN

10、加入环境变量和开机自启动

[[email protected] ~]#PATH="$PATH:/application/mysql/bin"
[[email protected] ~]# echo‘PATH="$PATH:/application/mysql/bin"‘ >>/etc/profile
[[email protected] ~]# . /etc/profile
[[email protected] ~]#

11、加入开机自启动

echo "/data/3306/mysql start" >>/etc/rc.local
echo "/data/3307/mysql start" >>/etc/rc.local
[[email protected] ~]# tail -2 /etc/rc.local
/data/3306/mysql start
/data/3307/mysql start
[[email protected] ~]#

感谢oldboy老师的教导!

时间: 2024-10-06 06:25:43

Mysql安装--多实例安装【3】的相关文章

MySQL单双实例安装

[单实例安装] 说明:即只提供一个服务,一个端口 sed -i 2s/localhost.localdomain/mysql/ /etc/sysconfig/network hostname mysql yum -y install ncurses-devel gcc gcc-c++ useradd mysql -s /sbin/nologin -M tar xf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./configure gmake gmake install

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

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

九.mysql数据库多实例安装

经常应为系统硬件短缺,导致需要在同一台硬件服务器上面安装多个mysql实例 1.在mysql用户目录下新建mysql3306,mysql3307,mysql3308三个文件夹,并分别在这三个文件夹下建立data,log,tmp文件夹,总体目录结构如下 /home/mysql ├── mysql3306 ├──data ├──log ├──tmp ├── mysql3307 ├──data ├──log ├──tmp ├── mysql3308 ├──data ├──log ├──tmp 2.配置

mysql的多实例安装

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

MySQL DBA 多实例安装(三)

为什么要使用多实例 mysql多实例启动及关闭方式 mysql启动方式之间的关系 多实例在云平台的使用 拆成多实例,master实例物理机安全度很高,双电源,磁盘底层镜像,做过raid,数据安全:slave性能为王 单机性能强劲,存储太大,不利于运维,必须做实例拆分 物理机强劲,单个项目无法把资源使用完 限制单个实例数据库大小 资源隔离,减少相互影响 分担连接数,mysql随着连接数上升,性能会出现严重下降 更充分的利用资源,不同业务错高峰混跑 资源对齐--cgoup 云超卖 small型:4G

MySQL编译安装多实例

MySQL数据库多实例安装 第1章 MySQL多实例介绍 简单的说,MySQL多实例就是在一台服务器上同时开启多个不同的服务端口(如:3306.3307),同时运行多个MySQL服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务. 这些MySQL多实例共用一套MySQL安装程序,使不同的my.cnf(也可以相同)配置文件.启动程序(也可以相同)和数据文件.在提供服务时,多实例MySQL在逻辑上看来是各自独立的,它们根据配置文件的对应设定值,获得服务器相应数量的硬件资源. 打

MySQL(mariadb)多实例应用与多实例主从复制

MySQL多实例 mysql多实例,简单理解就是在一台服务器上,mysql服务开启多个不同的端口(如3306.3307,3308),运行多个服务进程.这些 mysql 服务进程通过不同的 socket来监听不同的数据端口,进而互不干涉的提供各自的服务. 在同一台服务器上,mysql 多实例会去共用一套 mysql 应用程序,因此在部署 mysql的时候只需要部署一次 mysql程序即可,无需多次部署.但是,mysql多实例之间会各自使用不同的 my.cnf 配置文件.启动程序和数据文件.在提供服

linux下mysql多实例安装(转)

转自:http://www.cnblogs.com/xuchenliang/p/6843990.html 1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务:: 1.2.MySQL多实例的特点有以下几点 1:有效利用服务器资源,当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务. 2:节约服务器资源 3:资源互相

MySQL多实例安装配置

MySQL多实例安装配置 一.基本概念 MySQL多实例就是,在一台机器上开启多个不同的服务端口(如:3306,3307,3308...),运行多个MySQL服务进程,这些服务进程通过不同的socket监听不同的端口提供服务. MySQL可以共用一套安全程序,使用不同的my.cnf配置文件,启动程序,数据文件. 逻辑上是独立的,但是一个实例过载过高的时候会对其他造成影响. MySQL多实例的作用与问题: 1.有效利用服务器资源 2.节约服务器资源 3.资源互相抢占问题 当某个服务实现并发生很高的