mysql 多实例

#复制启动脚本
[root@166087 mysql] cp /etc/init.d/mysqld /etc/init.d/mysqld_3307

#给权限
[root@166087 mysql] chmod +x /etc/init.d/mysqld_3307

#复制配置文件
[root@166087 mysql] cd /application/mysql
[root@166087 conf] cp my.cnf my_3307.cnf
[root@166087 conf] vim my_3307.cnf
[client]
#password    = your_password
#修改端口
port        = 3307
socket        = /tmp/mysql_3307.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
#修改端口
port        = 3307
socket        = /tmp/mysql_3307.sock

#初始化数据实例
[root@166087 mysql] ./scripts/mysql_install_db --defaults-file=/application/mysql/conf/my_3307.cnf --basedir=/application/mysql --datadir=/application/mysql/data_3307/ --user=mysql

[root@166087 conf] /etc/init.d/mysqld_3307 start


#多实例启动 需要指定-S
[root@166087 root]# /application/mysql/bin/mysql -u root -hlocalhost  -S /tmp/mysql_3307.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.32-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


#3306实例也需要指定socket 如果不存在重启下3306服务
[root@166087 root]# /application/mysql/bin/mysql -u root -hlocalhost -p123456  -S /tmp/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.32 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

#/etc/init.d/mysqld_3307 配置文件的内容,这个是官方自带的脚本,修改下配置就可以启动3307了
#要修改的地方,文件锁,socket,配置文件,启动数据目录,只贴出了修改部分命令

# Lock directory for RedHat / SuSE.
lockdir='/var/lock/subsys'
lock_file_path="$lockdir/mysql_3307"


# Set some defaults
mysqld_pid_file_path=
if test -z "$basedir"
then
  basedir=/application/mysql5.5
  bindir=/application/mysql5.5/bin
  if test -z "$datadir"
  then
    datadir=/application/mysql5.5/data_3307
  fi
  sbindir=/application/mysql5.5/bin
  libexecdir=/application/mysql5.5/bin
else
  bindir="$basedir/bin"
  if test -z "$datadir"
  then
    datadir="$basedir/data"
  fi
  sbindir="$basedir/sbin"
  libexecdir="$basedir/libexec"
fi


#change
      $bindir/mysqld_safe --defaults-file=$basedir/conf/my_3307.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
      wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?

你可能感兴趣的:(mysql,多实例)