mysql运维之-单机多实例(多进程的方式)

本文实践的是多进程的方式做MYSQL单机多实例,一个实例一个进程,各实例有自己的配置文件,总结起来有以下几点:

  • 端口port分开
  • 配置文件分开
  • socket分开
  • 日志分开
  • 多serverid
  • 都可以使用mysql用户

1.源代码编译安装(略)
2.配置多实例

MYSQL版本:5.7.28
2.1.创建多个数据目录
mkdir /data/{3307,3306} -p
tree /data
    /data
    ├── 3307
    ├── 3306

2.2.准备多个配置文件
vim /data/3306/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/3306/data
port=3306
socket=/data/3306/mysql.sock
log-error=/data/3306/data/mysql.err
log-bin=/data/3306/data/mysql-bin
server_id=6

vim /data/3307/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/3307/data
port=3307
socket=/data/3307/mysql.sock
log-error=/data/3307/data/mysql.err
log-bin=/data/3307/data/mysql-bin
server_id=7


2.3 初始化多套数据目录
cd /usr/mysql/bin
./mysql_install_db --defaults-file=/data/3306/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data
./mysql_install_db --defaults-file=/data/3307/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/data

2.4 文件权限
chown -R mysql.mysql /data

2.4 启动&关闭MYSQL多实例

cd /usr/mysql/bin
启动
./mysqld_safe --defaults-file=/data/3307/my.cnf &
./mysqld_safe --defaults-file=/data/3306/my.cnf &
关闭(无密码)
./mysqladmin -S /data/3306/mysql.sock shutdown
./mysqladmin -S /data/3307/mysql.sock shutdown
关闭(有密码)
./mysqladmin -uroot -p123456  -S /data/3306/mysql.sock shutdown
./mysqladmin -uroot -p123456  -S /data/3307/mysql.sock shutdown

2.5 查看端口
netstat  -ln | grep 330

mysql运维之-单机多实例(多进程的方式)

2.6 设置多实例密码

cd /usr/mysql/bin
mysqladmin -uroot -S /data/3306/mysql.sock password ‘123456‘
mysqladmin -uroot -S /data/3307/mysql.sock password ‘123456‘

2.7 验证库连接

cd /usr/mysql/bin
mysql -uroot -p123456 -S /data/3307/mysql.sock

mysql运维之-单机多实例(多进程的方式)

show variables like ‘server_id‘

mysql运维之-单机多实例(多进程的方式)
mysql -uroot -p123456 -S /data/3306/mysql.sock

mysql运维之-单机多实例(多进程的方式)
show variables like ‘server_id‘

mysql运维之-单机多实例(多进程的方式)

2.8 忘记密码
修改my.cnf
[mysqld]
skip-grant-tables
启动mysql
修改密码
flush privileges;
alter user ‘root‘@‘localhost‘ identified with mysql_native_password by ‘123456‘;
flush privileges;

mysql运维之-单机多实例(多进程的方式)

上一篇:PHPCMS V9 模块开发 二次开发实例 留言本


下一篇:简易的CMDB服务端