三、linux-mysql mysql的多实例

1.什么是mysql多实例

         一个机器开通多个端口,运行多个mysql服务器进程,这些服务进程通过不同的socket监听不同的服务端口提供各自的服务,但它们共用一台mysql安装程序,使用不同的my.cnf配置文件、启动程序,数据文件。逻辑上多实例是独立的。

2.多实例的作用和问题

         有效利用服务器资源(服务器占用60%以上)、节约服务器资源,但当某个服务实例并发很高或者有慢查询时,整体服务提供的质量下降

3.应用场景

   1)质量不想下降,但是资金紧张,比如3个服务器,可以部署6到九个实例

   2)并发不是很大的业务

   3)门户网站应用mysql实例场景多

4.多实例的配置方案

   1)多个配置文件和多个启动程序    2)单一配置方式:my.cnf (耦合性太高)

5.安装MySQL多实例

    1)依赖包

       yum install  ncurses-devek -y

       yum install libaio-devel -y

   2) mkdir -p /data/{3306,3307}/data 将修改好的配置文件放置到这里my.cnf 和mysql脚本

   3)授权 /data/{3306,3307}/data 为mysql组和用户:chown

   4)  进行初始化:/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data/ --user=mysql

  提示:其实这里自己一直想不同,初始化是建库需要组织系统表关系结构,这个好理解,需要用到配置文件这个也好理解,但是在默认情况下应该是查看/etc/my.cnf,在查看当前的datadir同目录下的配置文件,如果两者都存在,那么以默认的配置文件优先级最好。

  5) ../mysql  start 进行启动

  6)   本地登陆命令: mysql -s /data/3306/mysql.sock    mysql -s /data/3307/mysql.sock

  7)多实例间的跳转为:system :   system mysql -S /data/3307/mysql.sock

  8)  停止命令:/data/3306/mysql stop  /data/3307/mysql stop

  9)添加密码: mysqladmin -u root -S /data/330{6,7}/mysql.sock password 'oldboy124' 

新版本MySQL(8.0以上)不支持使用mysqladmin -uroot -p123456 password 654321;“set password for root@localhost = password('654321');”来修改密码。

alter user'root'@'localhost' identified by '新密码'

 10)show databases;

6.可以根据上述方法再创建一个实例3308,这里已经创建,一步一来就ok了,结果如下,共3个进程:

  

 7.本地登陆命令: mysql -s /data/3306/mysql.sock    mysql -s /data/3307/mysql.sock

 远程登陆命令是:mysql -uroot -p'oldboy124' '-h 192.168.0.102'  -P 3307

posted @ 2019-08-18 18:51  小熊尤里  阅读(342)  评论(0编辑  收藏  举报