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 # 查看启动状态
签名:这个人很懒,什么也没有留下!