mysql实例详解_MySQL 多实例详解

MySQL多实例配置方法

1、单一配置文件

2、多配置文件。

二、实战步骤:

1、同步时间

2、准备mysql依赖包

3、环境准备

3.1添加mysql用户

3.2编译安装mysql

4、安装MySQL多实例

5、准备配置文件

6、启动MySQL

7、登录mysql与一些安全措施

8、关闭MySQL

9,、提供简易管理脚本

10、为mysql的root用户创建密码

11、附,多配置文件安装mysql多实例,这里增加mysql 的3309端口

12、总结

1、同步时间yuminstall epel*

ntp 202.120.2.101

yuminstall -y ntp

ntpdate 202.120.2.101

hwclock -w

2、准备mysql依赖包yuminstall -y autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* openssl*

yuminstall cmake -y

3、环境准备

3.1添加mysql用户groupadd mysql

useradd -g mysql mysql

mkdir-pv/data/{3306,3307,3308}/data

chown-R mysql.mysql/data/

cd /usr/local/src/

3.2编译安装mysqltar -xf mysql-5.5.45.tar.gz

cd mysql-5.5.45

chown mysql.mysql -R .

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/data \

-DSYSCONFDIR=/etc \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DWITH_LIBWRAP=0 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

gmake

make install

4、安装MySQL多实例cd /usr/local/mysql/

scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/

scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/

scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3308/

5、准备配置文件mysqld_multi --example >/data/multi.cnf#提供多配置文件模板vim/data/multi.cnf#修改模板,这里比较简易

[mysqld_multi]

mysqld =/usr/local/mysql/bin/mysqld_safe

mysqladmin =/usr/local/mysql/bin/mysqladmin

user = root

#这个用户应该有关机权限,然后没有其他的权限。建议创建一个通用的,multi_admin用户控制其它的MySQL用户,这里有个例子

#GRANT SHUTDOWN ON *.* TO multi_admin@localhost IDENTIFIED BY 'password'

[mysqld1]

socket =/tmp/mysql.sock1

port = 3306

pid-file =/data/3306/mysql.pid

datadir =/data/3306/data

[mysqld2]

socket =/tmp/mysql.sock2

port = 3307

pid-file =/data/3307/mysql.pid

datadir =/data/3307/data

#language = /usr/local/mysql/share/mysql/english

#user = unix_user1

[mysqld3]

#mysqld = /path/to/mysqld_safe

#ledir = /path/to/mysqld-binary/

#mysqladmin = /path/to/mysqladmin

socket =/tmp/mysql.sock3

port = 3308

pid-file =/data/3308/mysql.pid

datadir =/data/3308/data

#language = /usr/local/mysql/share/mysql/swedish

#user = unix_user2

以上是简易的配置文件。这个配置文件只能让MySQL启动起来。

6、启动MySQLmysqld_multi --defaults-file=/data/multi.cnf start 1,2,3

ss -tnl#查看监听端口

LISTEN 0 50 *:3306 *:*

LISTEN 0 50 *:3307 *:*

LISTEN 0 50 *:3308 *:*

7、登录mysql与一些安全措施mysql -S/tmp/mysql.sock1#指定socket登录mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

|test |

+--------------------+

4 rowsin set (0.01 sec)

mysql> drop databasetest;

Query OK, 0 rows affected (0.04 sec)

mysql>select User,Host from mysql.user;

+------+-----------+

| User | Host |

+------+-----------+

| root | 127.0.0.1 |

| root | ::1 |

| | localhost |

| root | localhost |

| | node1 |

| root | node1 |

+------+-----------+

6 rowsin set (0.01 sec)

mysql> delete from mysql.user where User='';

Query OK, 2 rows affected (0.00 sec)

mysql> delete from mysql.user where Host='::1';

Query OK, 1 row affected (0.00 sec)

mysql> delete from mysql.user where Host='node1';

Query OK, 1 row affected (0.00 sec)

其余的操作类似,就不在演示

8、关闭MySQLmysqladmin -S/tmp/mysql.sock1shutdown 建议使用

musqld_multi --defaults-file stop [#,#]

killall mysqld 不建议使用

9,、提供简易管理脚本#!/bin/bash

#

basedir=/usr/local/mysql

bindir=/usr/local/mysql/bin

conf=/data/multi.cnf

export PATH=$bindir:/$PATH

if test -x $bindir/mysqld_multi

then

mysqld_multi="$bindir/mysqld_multi";

else

echo "Can't execute $bindir/mysqld_multi from dir $basedir";

exit;

fi

case "$1" in

'start' )

"$mysqld_multi" --defaults-extra-file=$conf start $2

;;

'stop' )

"$mysqld_multi" --defaults-extra-file=$conf stop $2

;;

'report' )

"$mysqld_multi" --defaults-extra-file=$conf report $2

;;

'restart' )

"$mysqld_multi" --defaults-extra-file=$conf stop $2

"$mysqld_multi" --defaults-extra-file=$conf start $2

;;

*)

echo "Usage: $0 {start|stop|report|restart}" >&2

;;

esac

10、为mysql的root用户创建密码mysqladmin -uroot -S/tmp/mysql.sock2 password"123456"#指定socket文件位置即可

其余的操作一样

11、附,多配置文件安装mysql多实例,这里增加mysql 的3309端口mkdir -pv/data/3309/data

chown mysql.mysql -R 3309/

cd /usr/local/mysql

scripts/mysql_install_db--datadir=/data/3309/data/--user=mysql --basedir=/usr/local/mysql/

cp support-files/my-small.cnf/data/3309/my.cnfvim/data/3309/my.cnf

[client]

port = 3309#这里也需要注意下吧

socket =/tmp/mysql.sock4

[mysqld]

port = 3309#注意端口

socket =/tmp/mysql.sock4#注意socket

skip-external-locking

key_buffer_size = 16K

max_allowed_packet = 1M

table_open_cache = 4

sort_buffer_size = 64K

read_buffer_size = 256K

read_rnd_buffer_size = 256K

net_buffer_length = 2K

thread_stack = 128K

datadir=/data/3309/data #注意datadir

server-id = 1

[mysqldump]

quick

max_allowed_packet = 16Mmysqld_safe --defaults-file=/data/3309/my.cnf 2&1> >/dev/null#启动mysqldss -tnl |grep 330#查看端口

LISTEN 0 50 *:3306 *:*

LISTEN 0 50 *:3307 *:*

LISTEN 0 50 *:3308 *:*

LISTEN 0 50 *:3309 *:*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值