一台MySQL数据库启动多个实例

1、编译安装MySQL5.5

# yum install -y cmake gcc gcc-c++ make cmake ncurses ncurses-devel
# groupadd mysql
# useradd -g mysql -s /sbin/nologin mysql
# tar zxvf mysql-5.5.31.tar.gz
# cd mysql-5.5.31# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5-DSYSCONFDIR=/usr/local/mysql5.5/etc -DMYSQL_DATADIR=/usr/local/mysql5.5/data
# make && make install
# cp support-files/my-medium.cnf /usr/local/mysql5.5/etc/my3306.cnf
# cp support-files/my-medium.cnf/usr/local/mysql5.5/etc/my3307.cnf
# chown -R mysql.mysql/usr/local/mysql5.5/
# echo‘PATH=$PATH:/usr/local/mysql5.5/bin‘ >> /etc/profile
# source /etc/profile

2、配置多实例信息

# cd /usr/local/mysql5.5/etc/
# mkdir ../data3306    #创建数据库数据目录
# mkdir ../data3307
# vi my.cnf
[mysqld_multi]
mysqld = /usr/local/mysql5.5/bin/mysqld_safe
mysqladmin = /usr/local/mysql5.5/bin/mysqladmin
user = root       #登陆数据库用户
password = 123       #登陆数据库密码,用于关闭数据库,两台数据库密码设置一样
[mysqld1]
user = mysql
port = 3306
socket = /tmp/mysql3306.sock
pid-file = /usr/local/mysql5.5/data3306/mysql.pid
basedir = /usr/local/mysql5.5
datadir = /usr/local/mysql5.5/data3306
log_error = /var/log/mysql/3306_error.log
[mysqld2]
user = mysql
port = 3307
socket = /tmp/mysql3307.sock
pid-file = /usr/local/mysql5.5/data3307/mysql.pid
basedir = /usr/local/mysql5.5
datadir = /usr/local/mysql5.5/data3307
log_error = /var/log/mysql/3307_error.log

3、启动实例1,2

# mysqld_multi --defaults-file=/usr/local/mysql5.5/etc/my.cnf start 1
# mysqld_multi --defaults-file=/usr/local/mysql5.5/etc/my.cnf start 2
#同时启动或关闭1,2
# mysqld_multi --defaults-file=/usr/local/mysql5.5/etc/my.cnf start/stop 1,2
#查看MySQL是否启动
# mysqld_multi --defaults-file=./my.cnf report 1,2
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is running
# netstat -antp |grep mysql
tcp  0    0 0.0.0.0:3306  0.0.0.0:*   LISTEN      20896/mysqld    
tcp  0    0 0.0.0.0:3307  0.0.0.0:*   LISTEN      21499/mysqld

注:如果不想用mysqld_multi工具,可以独立实例配置文件,自己启动或关闭,如下:

# /usr/local/mysql5.5/bin/mysqld_safe --defaults-extra-file=/usr/local/mysql5.5/etc/my3306.cnf --datadir=/usr/local/mysql5.5/data3306/ --user=mysql &
# mysqladmin -uroot -p123 -S/tmp/mysql3306.sock shutdown

4、本地登录

# mysql -S /tmp/mysql3306.sock -P 3307 -uroot -p123
# mysql -S /tmp/mysql3307.sock -P 3307 -uroot -p123

5、远程登录(先开启远程访问权限)

mysql> grant all on *.* to‘root‘@‘%‘ identified by ‘123‘;
# mysql -h 192.168.1.10 -P 3306 -uroot -p123
# mysql -h 192.168.1.10 -P 3307 -uroot -p123

本文出自 ““企鹅”那点事儿” 博客,请务必保留此出处http://lizhenliang.blog.51cto.com/7876557/1636016

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。