一、说明
就是在一台机器上面开启多个不同的端口,运行多个MySQL服务进程。这些MySQL多实例公用一套安装程序,使用不同的(也可以是相同的)配置文件,启动程序,数据文件。在提供服务时候,多实例MySQL在逻辑上看来是各自独立的,多个实例的自身是根据配置文件对应的设定值,来取得相关硬件资源的多少。
二、实战步骤:
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、同步时间
yum install epel*
ntp 202.120.2.101
yum install -y ntp
ntpdate 202.120.2.101
hwclock -w
2、准备yum 依赖
yum install -y autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* openssl*
yum install cmake -y
3、环境准备
3.1添加mysql用户
id mysql
useradd mysql
mkdir /data/330{6,7}/data
tar xf mysql-5.6.26.tar.gz -C /usr/local/
ln -sv /usr/local/mysql-5.5 mysql
cd mysql
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
make&make install
mysqld.cc: In function ‘void handle_connections_sockets()’:
主要是没有安装libmcrypt相关的包
直接使用yum install libmcrypt* -y安装完成后,在重新编译
在编译出现异常,在重新编译的时候,需要先删除mysql目录下的CMakeCache.txt这个文件,然后再进行编译!!!
4、安装MySQL多实例
cd /usr/local/
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/
./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3306/data --user=mysql
chown -R mysql:mysql /data
5、准备配置文件
rz data.zip
unzip data.zip
cp data/3306/mysql my.cnf /data/3306/
cp data/3307/mysql my.cnf /data/3307/
find /data -type f -name "mysql" |xargs chmod +x
6、mysql环境变量设置
vim /etc/profile/mysql.sh
export MYSQL=/usr/local/mysql/bin
export PATH=$PATH:$MYSQL
chmod +x /etc/profile/mysql.sh
source /etc/profile/mysql.sh
7、mysql的启动
/data/3306/mysql start
netstat -tulnp | grep 3306
8、mysql连接
mysql -S /data/3306/mysql.sock