mysql 多实例安装 mysql


groupadd mysql
useradd -r -g mysql mysql
mkdir /home/data/logs
chown -R mysql:mysql /home/data/logs/
mkdir -pv /home/data/mysql_333{1..9}
chown -R mysql:mysql  /home/data/mysql_333{1..9}

lsof -i tcp:3331   # kill -9 {pid}   # 关闭原进程
rm -rf /home/data/mysql_333{1,9}/*  # 清除原数据文件

# 初始化数据库

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3331
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3332
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3333
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3334
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3335
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3336
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3337
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3338
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql_3339

命令在此:mysqld --initialize-insecure --user=mysql
文档表明,使用-initialize生成随机密码,使用-initialize-insecure生成空密码。默认帐号root,后面的-user=mysql不更改

# 编辑my.cnf

vim /etc/my.cnf

[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin =/usr/local/mysql/bin/mysqladmin
log =/home/data/logs/mysqld_multi.log
[mysqld31]
#skip-grant-tables # 跳过密码,以下端口配置,一样,修改密码后,注释.
basedir=/usr/local/mysql
datadir=/home/data/mysql_3331
port=3331
server_id=31
socket=/home/data/mysql_3331/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3331/mysql.pid
wait_timeout=1814400
max_connections = 1500
[mysqld32]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3332
port=3332
server_id=32
socket=/home/data/mysql_3332/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3332/mysql.pid
wait_timeout=1814400
max_connections = 1500
[mysqld33]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3333
port=3333
server_id=33
socket=/home/data/mysql_3333/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3333/mysql.pid
wait_timeout=1814400
max_connections = 1500
[mysqld34]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3334
port=3334
server_id=34
socket=/home/data/mysql_3334/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3334/mysql.pid
wait_timeout=1814400
max_connections = 1500
[mysqld35]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3335
port=3335
server_id=35
socket=/home/data/mysql_3335/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3335/mysql.pid
wait_timeout=1814400
max_connections = 1500
[mysqld36]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3336
port=3336
server_id=36
socket=/home/data/mysql_3336/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3336/mysql.pid
wait_timeout=1814400
max_connections = 1500
[mysqld37]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3337
port=3337
server_id=37
socket=/home/data/mysql_3337/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3337/mysql.pid
wait_timeout=1814400
max_connections = 1500
[mysqld38]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3338
port=3338
server_id=38
socket=/home/data/mysql_3338/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3338/mysql.pid
wait_timeout=1814400
max_connections = 1500
[mysqld39]
basedir=/usr/local/mysql
datadir=/home/data/mysql_3339
port=3339
server_id=39
socket=/home/data/mysql_3339/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/home/data/mysql_3339/mysql.pid
wait_timeout=1814400
max_connections = 1500

多实例登陆,跳过密码,修改密码:

# /etc/my.cnf   # skip-grant-tables # 跳过密码

/etc/init.d/mysqld_multi start 31,32,33,34,35,36,37,38,39  # 启动3331,3332....多实例

mysql --socket=/home/data/mysql_3331/mysql.sock         # 免密码登陆3331实例
...

use mysql;
update user set authentication_string=password('bnh1923') where user='root';
flush privileges;
exit;

# /etc/my.cnf   # skip-grant-tables # 删除跳过密码

mysqladmin -uroot -pbnh1923 --socket=/home/data/mysql_3331/mysql.sock shutdown  # 关闭3331实例
...

/etc/init.d/mysqld_multi start 31  # 启动3331实例

mysql --socket=/home/data/mysql_3331/mysql.sock -uroot -pbnh1923 # 密码登陆3331实例
use mysql;
grant all on *.* to 'root'@'%' IDENTIFIED BY 'sunfun!QAZ2wsx' with grant option;   # 增加授权用户
update user set authentication_string=password('sunfun!QAZ2wsx') where user='root';  # 修改所有root密码
flush privileges;
exit;

mysql --socket=/home/data/mysql_3331/mysql.sock -uroot -psunfun!QAZ2wsx # 新密码,登陆3331实例

mysqladmin -uroot -p  --socket=/home/data/mysql_3331/mysql.sock shutdown  # 输入新密码,停止实例

mysqld_multi start 31  # 开启31实例
mysqld_multi report 31 # 查看31实例
mysqld_multi --defaults-extra-file=/etc/my.cnf report   # 查看启动状态


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回