首页 > 数据库技术 > 详细

精通MySQL多实例配置

时间:2018-08-01 23:45:33      阅读:230      评论:0      收藏:0      [点我收藏+]
MySQL多实例实战案例

[root@localhost ~]# mkdir -p /data/{3306,3307}/data

[root@localhost ~]# tree /data/

/data/ 多实例根目录

|-- 3306 3306实例的目录

|   `-- data 3306实例的数据文件目录

`-- 3307 3307 实例的目录

    `-- data 3307实例的数据文件目录

 

4 directories, 0 files

[root@localhost ~]# unzip data.zip

Archive:  data.zip

   creating: data/

   creating: data/3306/

  inflating: data/3306/my.cnf       

  inflating: data/3306/mysql        

   creating: data/3307/

  inflating: data/3307/my.cnf       

  inflating: data/3307/mysql        

[root@localhost ~]# cp data/3306/my.cnf /data/3306/

[root@localhost ~]# cp data/3307/my.cnf /data/3307/

[root@localhost ~]# cp data/3306/mysql /data/3306/

[root@localhost ~]# cp data/3307/mysql /data/3307/

[root@localhost ~]# tree /data

/data

|-- 3306

|   |-- data

|   |-- my.cnf

|   `-- mysql

`-- 3307

    |-- data

    |-- my.cnf

    `-- mysql

 

4 directories, 4 files

多实例启动文件的mysql服务实质

mysqld_safe --defaults-file=/data/3306/my.cnf 2&1 > /dev/null &

mysqld_safe --defaults-file=/data/3307/my.cnf 2&1 > /dev/null &

多实例启动文件的停止服务实质

mysqladmin -uroot -p1 -S /data/3306/mysql.sock shutdown

mysqladmin -uroot -p1 -S /data/3307/mysql.sock shutdown

授权相关文件

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

[root@localhost ~]# find /data/ -type f -name "mysql" | xargs chmod 750

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

-rwxr-x--- 1 mysql mysql 1301 Jul 31 22:54 /data/3306/mysql

-rwxr-x--- 1 mysql mysql 1300 Jul 31 22:54 /data/3307/mysql

初始化数据库

[root@localhost ~]# cd /usr/local/mysql/scripts/

[root@localhost scripts]# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3306/data --user=mysql

Installing MySQL system tables...

OK

Filling help tables...

OK

[root@localhost scripts]# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3307/data --user=mysql

Installing MySQL system tables...

OK

Filling help tables...

OK

启动服务

[root@localhost ~]# /data/3306/mysql start

Starting MySQL...

[root@localhost ~]# /data/3307/mysql start

Starting MySQL...

[root@localhost ~]# netstat -anutp | grep 330

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

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

测试登录

[root@localhost ~]# mysql -S /data/3306/mysql.sock

mysql>       

[root@localhost ~]# mysql -S /data/3307/mysql.sock

mysql>

设定密码

[root@localhost ~]# mysqladmin -uroot -S /data/3306/mysql.sock password '1'

[root@localhost ~]# mysqladmin -uroot -S /data/3307/mysql.sock password '1'

测试停止服务

[root@localhost ~]# /data/3306/mysql stop

Stoping MySQL...

[root@localhost ~]# /data/3307/mysql stop

Stoping MySQL...

实战增加第三个实例

[root@localhost ~]# mkdir /data/3308/data -p

[root@localhost ~]# cp /data/3306/my.cnf /data/3308/

[root@localhost ~]# cp /data/3306/mysql /data/3308/

[root@localhost ~]# ls /data/3308/

data  my.cnf  mysql

[root@localhost ~]# chown -R mysql.mysql /data/3308/

[root@localhost ~]# vim /data/3308/my.cnf

[root@localhost ~]# vim /data/3308/mysql

[root@localhost ~]# cd /usr/local/mysql/scripts/

[root@localhost scripts]# ./mysql_install_db \

> --basedir=/usr/local/mysql/ \

> --datadir=/data/3308/data \

> --user=mysql

Installing MySQL system tables...

OK

Filling help tables...

OK

[root@localhost ~]# /data/3308/mysql start

Starting MySQL...

[root@localhost 3308]# netstat -anutp | grep 330

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

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

tcp        0      0 0.0.0.0:3308            0.0.0.0:*               LISTEN      42028/mysqld       

[root@localhost ~]# mysqladmin -uroot -S /data/3308/mysql.sock password '1'

[root@localhost ~]# mysql -uroot -p1 -S /data/3308/mysql.sock

mysql> quit

Bye

[root@localhost ~]# /data/3308/mysql stop

Stoping MySQL...

MySQL启动基本原理说明

/etc/init.d/mysqld 是一个shell启动脚本,启动后最终会调用mysqld_safe脚本,最后调用mysqld服务启动mysql

初始化数据库时MySQL系统输出给出的启动方法:

mysqld_safe --user=mysql &

提示:

1.   当找回root密码时,会经常使用mysqld_safe --user=mysql &带参数启动

2.   我们自己开发脚本启动数据库时可能会用到这个启动方法。

3.   /etc/init.d/mysqld和mysqld_safe --user=mysql &的启动实质是一样的。

MySQL关闭基本原理

优雅关闭

1.   mysqladmin方法

[root@localhost ~]# mysqladmin -uroot -p123 shutdown

2.   自带的脚本

/etc/init.d/mysqld stop

3.   kill、killall、pkill等进程管理命令(不建议使用,特别是生产环境,高并发情况会导致数据丢失,甚至无法启动)


觉得本文章不错的可以分享给您的朋友或订阅我,后期会分享更多的Linux技术文章


精通MySQL多实例配置

原文:http://blog.51cto.com/13639298/2153343

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!