一台MySQL数据库发动多个实例51CTO博客 - 乐橙lc8

一台MySQL数据库发动多个实例51CTO博客

2019年03月01日12时35分40秒 | 作者: 白萱 | 标签: 数据库,实例,发动 | 浏览: 1394

一台数据库效劳器为什么运转多个实例?

有一台MySQL数据库效劳器硬件利用率往往在30%左右,那剩下的70%岂不是浪费了,这时就能够考虑运转多个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
#  mkdir /usr/local/mysql5.5/etc
# cp support-files/my-medium.cnf /usr/local/mysql5.5/etc/my.cnf
# chown -R mysql.mysql /usr/local/mysql5.5/
# echo ‘PATH=$PATH:/usr/local/mysql5.5/bin >> /etc/profile
# source /etc/profile

3、初始化数据库实例

# mkdir /usr/local/mysql5.5/data3306    #创立数据库数据目录
# mkdir /usr/local/mysql5.5/data3307
# /usr/local/mysql5.5/scripts/mysql_install_db basedir=/usr/local/mysql5.5/ datadir=/usr/local/mysql5.5/data3306/ user=mysql
# /usr/local/mysql5.5/scripts/mysql_install_db basedir=/usr/local/mysql5.5/ datadir=/usr/local/mysql5.5/data3307/ user=mysql

2、装备多实例信息并运用mysqld_multi东西会集办理

# cd /usr/local/mysql5.5/etc/
# 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/stop 1
# mysqld_multi defaults-file=/usr/local/mysql5.5/etc/my.cnf start/stop 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
# 参加开机发动
echo "/usr/local/mysql5.5/mysqld_multi defaults-file=/usr/local/mysql5.5/etc/my.cnf start 1,2" >> /etc/rc.local

 注:假如不想用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 -p    #直接回车进入
mysql> set password=password(123);
# mysql -S /tmp/mysql3307.sock -P 3307 -uroot -p
mysql> set password=password(123);

5、长途登录(先敞开长途拜访权限)

mysql> grant all on *.* toroot@% identified by 123;
# mysql -h 192.168.1.10 -P 3306 -uroot -p123
# mysql -h 192.168.1.10 -P 3307 -uroot -p123
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表乐橙lc8立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章