Mysql 多实例安装和二进制安装MySQL

通用二进制安装mysql

1、在官网下载mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz

2、新创建用户

groupadd  -r  -g   306  mysql

useradd   -g   306  -r   -u   306 mysql

3、安装并初始化mysql

tar xvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

 cd /usr/local/

ln -sv mysql-5.6.32-linux-glibc2.5-x86_64/ mysql

chown -R mysql.mysql mysql/*

初始化

yum install perl-Data-Dumper -y

mysqld --initializ --user=mysql --datadir=/usr/local/mysql/data   --basedir=/usr/local/mysql

4、为mysql提供主配置文件

cd   /usr/local/mysql

cp support-files/my-default.cnf /etc/my.cnf

vim /etc/my.cnf

在这里插入图片描述
5、为mysql提供sysv服务脚本

cp support-files/mysql.server /etc/rc.d/init.d/mysql

chmod +x /etc/rc.d/init.d/mysql

6、启动mysql

systemctl  start   mysql

7、将mysql的bin目录加入PATH环境变量,编辑/etc/profile

cd   /etc/pprofile.d/

vim  mysql.sh

在这里插入图片描述

source    mysql.sh

8、进入MySQL数据库并设置密码

mysql -uroot
在这里插入图片描述
此时,用户名密码登录

在这里插入图片描述

多实例化安装

什么是多实例:

MySQL多实例安装就是在一台机器上开启多个不同的服务端口,运行多个服务进程,通过不同的socket监听不同的服务端口提供各自的服务

MySQL多实例的特点:

1)有效的利用服务资源,当单个服务器的资源有剩余时,可以充分利用剩余的资源提供更多的服务。

2)节约服务资源

3)资源互相抢占资源问题,当某个服务实例服务并发很高时或者开启慢查询时,会消耗更多的内存,cpu,磁盘I/O资源,导致服务器上的其他实例提供服务的质量下降

安装部署

1、下载二进制包

mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz

2、解压并迁移

tar  -xvf    mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz
     
mv   mysql-5.6.32-linux-glibc2.5-x86_64  /usr/local/mysql/

3、创建mysql用户及组

 groupadd   -g   27   mysql

 useadd  -u  27   -g   mysql   mysql

 id    mysql

4、创建多实例数据目录

mkdir   -p   /data/mysql/{musql_3306,mysql_3307}
mkidr   -p   /data/mysql/mysql_3306/{data,log,tmp} 
mkidr   -p  /data/mysql/mysql_3306/{data,log,tmp} 

5、更改目录权限

chown  -R    mysql:mysql    /data/mysql/
 
  chown  -R    mysql:mysql    /usr/local/mysql/

6、添加环境变量

vim /etc/profile

export   PATH=$PATH:/usr/local/mysql/bin

source /etc/profile

7、复制my.cnf 到etc目录

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

8、修改my.cnf

[client]  
port=3306  
socket=/tmp/mysql.sock  
 
[mysqld_multi]  
mysqld = /usr/local/mysql /bin/mysqld_safe  
mysqladmin = /usr/local/mysql /bin/mysqladmin  
log = /data/mysql/mysqld_multi.log  
 
[mysqld]  
user=mysql  
basedir = /usr/local/mysql  
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES  
 
[mysqld3306]  
mysqld=mysqld  
mysqladmin=mysqladmin  
datadir=/data/mysql/mysql_3306/data  
port=3306  
server_id=3306  
socket=/tmp/mysql_3306.sock  
log-output=file  
slow_query_log = 1  
long_query_time = 1  
slow_query_log_file = /data/mysql/mysql_3306/log/slow.log  
log-error = /data/mysql/mysql_3306/log/error.log  
binlog_format = mixed  
log-bin = /data/mysql/mysql_3306/log/mysql3306_bin  
   
[mysqld3307]  
mysqld=mysqld  
mysqladmin=mysqladmin  
datadir=/data/mysql/mysql_3307/data  
port=3307  
server_id=3307  
socket=/tmp/mysql_3307.sock  
log-output=file  
slow_query_log = 1  
long_query_time = 1  
slow_query_log_file = /data/mysql/mysql_3307/log/slow.log  
log-error = /data/mysql/mysql_3307/log/error.log  
binlog_format = mixed  
log-bin = /data/mysql/mysql_3307/log/mysql3307_bin

9、初始化数据库

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3306/data --defaults-file=/etc/my.cnf  

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3307/data --defaults-file=/etc/my.cnf  

10、设置启动文件

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

11、启动全部实例

/usr/local/mysql/bin/mysqld_multi start

mysqld_multi进行多实例管理
启动全部实例:/usr/local/mysql/bin/mysqld_multi start
查看全部实例状态:/usr/local/mysql/bin/mysqld_multi report
启动单个实例:/usr/local/mysql/bin/mysqld_multi start 3306
停止单个实例:/usr/local/mysql/bin/mysqld_multi stop 3306
查看单个实例状态:/usr/local/mysql/bin/mysqld_multi report 3306

12、查看全部进程

netstat   -ntpl   | grep    mysql

在这里插入图片描述
13、修改密码

mysql的root用户初始密码是空,所以需要登录mysql进行修改密码,下面以3306为例:

mysql -S /tmp/mysql_3306.sock 
  
set password for root@'localhost'=password('123456'); 

重新登陆

mysql -S /tmp/mysql_3306.sock -p 123

在这里插入图片描述

设置并修改密码

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值