龙空技术网

mysql多实例二进制包安装

运维问答课堂 200

前言:

当前小伙伴们对“mysql二进制包”大体比较注意,小伙伴们都想要了解一些“mysql二进制包”的相关内容。那么小编也在网络上搜集了一些有关“mysql二进制包””的相关知识,希望姐妹们能喜欢,我们一起来了解一下吧!

安装前的准备:

mysql安装方式:二进制包

mysql下载地址:

mysql版本:GA-mysql-5.7.21

校验二进制包的MD5

md5sum mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 结果要与官方校验

更改系统最大打开文件数

ulimit -a 查看

ulimit -SHn 65535

echo "* - nofile 65535" >> /etc/security/limits.conf

groupadd mysql

useradd -g mysql -s /sbin/nologin -d /usr/local/mysql -MN mysql

安装包解压目录 /opt/mysql

cd /opt/mysql

tar xvf ~/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

chown -R mysql:mysql mysql-5.7.21-linux-glibc2.12-x86_64

创建软链接

cd /usr/local/

ln -s /opt/mysql/mysql-5.7.21-linux-glibc2.12-x86_64/ mysql

chown -R mysql:mysql mysql

检查安装依赖

ldd /usr/local/mysql/bin/mysqld

创建初始化目录

mkdir /data/mysql/mysql3306/{data,logs,tmp,conf} -p

cd /data

chown -R mysql:mysql mysql

vim /etc/my.cnf (此处注意文件名字和目录不能随意,原因在下面)

(配置文件内容太多,如果需要发私信吧)

#my.cnf

[client]

port = 3306

socket = /tmp/mysql3306.sock

[mysql]

prompt="\\u@\\h :\\d\\r:\\m:\\s>"

[mysqld]

#misc

user = mysql #

basedir = /usr/local/mysql #基础目录,要与准备阶段的相匹配

datadir = /data/mysql/mysql3306/data # 数据目录

port = 3306

socket = /tmp/mysql3306.sock

event_scheduler = 0

tmpdir = /data/mysql/mysql3306/tmp #临时目录

。。。。。

数据初始化

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize

可以不指定--defaults-file=/etc/my.cnf的,但是最好指定,使用命令echo $? 验证初始化结果

或者 cat /data/mysql/mysql3306/data/error.log

记住数据库初始密码:GseHNX0lfI,M

启动数据库

/usr/local/mysql/bin/mysqld

验证启动进程

使用客户端登录数据库

/usr/local/mysql/bin/mysql -p

更改初始密码 (unknown)@localhost :(none)07:38:50>set password=password('880000');

以上可以看出在没有指定配置文件下的情况下,我们成功的启动了服务端和客户端,因为

不管是客户端还是服务端都会默认(按顺序)读取
/etc/my.cnf
/usr/local/mysql/etc/my.cnf
~/.my.cnf

从官方的配置文件中我们也可以得知,官方把客户端和服务端的配置文件都写入到同一个文件了,使用标签[client],[mysql],[mysqld]来区分

这样的配置对于单实例很方便,如果要再开一个实例,无论是服务端还是客户端就要手动指定配置文件了。

开启另外一个实例

创建实例目录

mkdir /data/mysql/mysql3307/{data,logs,tmp,conf} -p

cp /etc/my.cnf /data/mysql/mysql3307/conf/my3307.cnf

改变相关路径和端口

sed -i 's/3306/3307/g' /data/mysql/mysql3307/conf/my3307.cnf

初始化 (一定要指定配置文件)

/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3307/conf/my3307.cnf --initialize

启动数据库 (一定要指定配置文件)

/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3307/conf/my3307.cnf

--defaults-file一定要写在其他参数前面

启动客户端(一定要指定配置文件)

/usr/local/mysql/bin/mysql --defaults-file=/data/mysql/mysql3307/conf/my3307.cnf -p

现在我们已经成功启动了另外一个实例

ps aux|grep mysqld

下面做一些运维方面的优化

vim /etc/profile.d/mysql.sh

alias mysqld3306='/usr/local/mysql/bin/mysqld &'

alias mysqld3307='/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3307/conf/my3307.cnf &'

alias mysql3306='/usr/local/mysql/bin/mysql'

alias mysql3307='/usr/local/mysql/bin/mysql --defaults-file=/data/mysql/mysql3307/conf/my3307.cnf'

重载profile

[root@rqbao4 profile.d]# . /etc/profile

标签: #mysql二进制包