mysql.dcp_MySQL多实例

本文详细介绍了如何在Linux上安装和配置多个MySQL实例,包括安装依赖、编译源码、创建数据目录、设置权限、启动服务以及授权操作。通过设置不同的端口号和sock文件,实现了3306、3307和3308三个实例的启动,并提供了开机自动启动的配置方法。
摘要由CSDN通过智能技术生成

1.4 多实例安装步骤

1、安装依赖,下载软件包

yum -y install  ncurses-devel libaio-deve   #安装依赖包

yum -y install cmake       #编译MySQL需要的软件

useradd -s /sbin/nologin -M mysql   #创建用户

mkdir /home/oldboy/tools           #规范软件包安装路径

cd /home/oldboy/tools

wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.49.tar.gz

tar xf mysql-5.5.49.tar.gz                #解压MySQLcd mysql-5.5.49

2、编译MySQL源码包

编译参数

cmake -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \

-DMYSQL_DATADIR=/application/mysql-5.5.32/data \

-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \

-DENABLED_LOOCAL_INFILE=ON \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITHOUT_PARRTITION_STORAGE_ENGINE=1 \

-DWITH_FAST_MUTEXES=1 \

-DWITH_ZLIB=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_READLINE=1 \

-DWITH_EMBEDDED_SERVER=1\

-DWITH_DEBUG=0

此步是生成Makefile文件的步骤接下来进行安装

make && make install

ln -s /application/mysql-5.5.49 /application/mysql     #制作软连接

mkdir -p /data/{3306,3307}/data     #创建多实例目录

===========================================

这里的data安装使用下载 下载链接:http://pan.baidu.com/s/1pKZ4Li7

[root@db01 /]# find /data -type f -name "mysql"|xargs chmod +x

[root@db01 /]# find /data -type f -name "mysql"|xargs ls -l

-rwxr-xr-x 1 root root 1307 Jul 152013 /data/3306/mysql

-rwxr-xr-x 1 root root 1307 Jul 212013 /data/3307/mysql

[root@db01 /]# chown -R mysql.mysql /data/

[root@db01 /]# cd /application/mysql/scripts/

[root@db01 scripts]# ./mysql_install_db --basedir=/application/mysql/ --datadir=/data/3306/data/ --user=mysql

[root@db01 scripts]# ./mysql_install_db --basedir=/application/mysql/ --datadir=/data/3307/data/ --user=mysql

MySQL多实例配置及启动

启动MySQL 启动方式和原来不同

[root@db02 scripts]# /data/3306/mysql start

Starting MySQL...

[root@db02 scripts]# /data/3307/mysql start

Starting MySQL...

启动完成进行检查

[root@db02 scripts]# netstat -lntup|grep 330

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      14480/mysqld

tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN      15198/mysqld

cp /application/mysql/bin/* /usr/local/sbin/

登录的时候需要指定sock

mysql -uroot -S /data/3306/mysql.sock

mysql -uroot -S /data/3307/mysql.sock

常见错误问题:

错误问题:

1、 对主机名做解析

2、 tmp目录权限1777

3、 如果启动MySQL多实例没有查到端口就稍等一会

4、 日志.err结尾的日志进行排错

设置开机启动

echo "mysql multi instances" >>/etc/rc.local

echo "/data/3306/mysql start" >>/etc/rc.local

echo "/data/3307/mysql start" >>/etc/rc.local

下面我们自己添加一个多实例

添加多实例3308

[root@db02 data]# mkdir /data/3308/data -p

[root@db02 data]# \cp /data/3306/my.cnf /data/3308

[root@db02 data]# \cp /data/3306/mysql /data/3308

[root@db02 3308]# sed -i 's/3306/3308/g' my.cnf mysql

[root@db02 3308]# sed -i 's/server-id = 1/server-id = 8/g' /data/3308/my.cnf

[root@db02 3306]# chown -R mysql.mysql ../3308/

授权

[root@db02 3306]# chmod 700 /data/3308/mysql

[root@db02 3308]# cd /application/mysql/scripts/

[root@db02 scripts]#./mysql_install_db --basedir=/application/mysql/ --datadir=/data/3308/data/ --user=mysql

[root@db02 3308]# chmod +x /data/3308/mysq

[root@db02 scripts]# /data/3308/mysql start

Starting MySQL...

[root@db02 scripts]# mysql -S /data/3308/mysql.sock

5 MySQL远程连接

mysql -uroot -poldboy -h 10.0.0.7 -P 端口号 -P 为端口参数

6 因为脚本里面设置的密码是oldboy 所以如果我们不设置将无法停止MySQL

[root@db02 scripts]# mysqladmin password oldboy -S /data/3306/mysql.sock

[root@db02 scripts]# mysqladmin password oldboy -S /data/3307/mysql.sock

[root@db02 scripts]# mysqladmin password oldboy -S /data/3308/mysql.sock

[root@db02 scripts]# mysql -uroot -poldboy123 -S /data/3306/mysql.sock

本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1835069,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值