mysql多启动

binary安装:

1、redhat rpm

2、mysql rpm

3、mysql glibc

source安装:

1、5.1mysql(./configure && make && make install)

2、5.5mysql(cmake && make && make install)

单启动:

1、安装

bash 复制代码
tar xf xxx.tar.gz
cd xxx
./configure --prefix=xxx --enable --disables --with
make && make install

2、初始化数据库:

bash 复制代码
useradd -s /sbin/nologin mysql
cd $basedir
chown -R mysql.mysql .
./bin/mysql_install_db --user --datadir=/xxx or scripts/mysql_install_db
chown -R root .
chown -R mysql var|data
./bin/mysqld_safe --user=mysql --datadir=./var --basedir=$prefix --defaults-file=/xx/my.cnf

mysql服务启动时需要哪些文件:

程序

/opt/mysql/bin/mysqld_safe-->mysqld

配置文件

/etc/my.cnf

数据文件

/basedir/data|var

network socket:

0.0.0.0:3306

file socket:

/tmp/mysql.sock 或 /var/lib/mysql/mysql.sock 或$prefix/mysql.sock

pid-file:

mysqld pid

mysqlrpm /usr/sbin/mysqld /mysql/data1 /mysql/data1/my.cnf 3306 /mysql/data1/mysql.sock /mysql/data1/mysql.pid

mysqlglbic /opt/mysql /mysql/data2 /mysql/data2/my.cnf 3307 /mysql/data2/mysql.sock /mysql/data2/mysql.pid

mysql5.5 /opt/mysql5.5 /mysql/data3 /mysql/data3/my.cnf 3308 /mysql/data3/mysql.sock /mysql/data3/mysql.pid

多启动要考虑的因素:

1、数据目录

2、初始化要使用的脚本

3、配置文件

4、启动的脚本(mysqld_safe)

1、初始化配置:

bash 复制代码
mkdir /mysql/data{1,2,3} -p
chown mysql.mysql /mysql/data{1,2,3}
chmod 700 /mysql/data{1,2,3}
rm -rf /etc/my.cnf
mysql_install_db --basedir=/usr --datadir=/mysql/data1 --user=mysql
/opt/mysql/scripts/mysql_install_db --basedir=/opt/mysql --datadir=/mysql/data2 --user=mysql
/opt/mysql5.5/scripts/mysql_install_db --basedir=/opt/mysql5.5 --datadir=/mysql/data3 --user=mysql

书写配置文件:

bash 复制代码
vim /mysql/data1/my.cnf

[mysql]
socket=/mysql/data1/mysql.sock
port=3306

[mysqld]
user=mysql
socket=/mysql/data1/mysql.sock
port=3306
datadir=/mysql/data1
basedir=/usr
pid-file=/mysql/data1/mysql.pid
bash 复制代码
cp /mysql/data1/my.cnf /mysql/data2/my.cnf
cp /mysql/data1/my.cnf /mysql/data3/my.cnf
sed -i 's/data1/data2/g' /mysql/data2/my.cnf
sed -i 's/data1/data3/g' /mysql/data3/my.cnf
sed -i 's/3306/3307/' /mysql/data2/my.cnf
sed -i 's/3306/3308/' /mysql/data3/my.cnf

sed -i 's#/usr#/opt/mysql#' /mysql/data2/my.cnf
sed -i 's#/usr#/opt/mysql5.5#' /mysql/data3/my.cnf

启动三个mysql:

bash 复制代码
/usr/bin/mysqld_safe --defaults-file=/mysql/data1/my.cnf &

cd /opt/mysql		--如果是glibc包,需要先进入basedir
/opt/mysql/bin/mysqld_safe --defaults-file=/mysql/data2/my.cnf &

/opt/mysql5.5/bin/mysqld_safe --defaults-file=/mysql/data3/my.cnf &

登录不同的mysqld

bash 复制代码
netstat -anlp |grep mysql
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      7043/mysqld         
tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN      7173/mysqld         
tcp        0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN      7317/mysqld         
unix  2      [ ACC ]     STREAM     LISTENING     38339  7317/mysqld         /mysql/data3/mysql.sock
unix  2      [ ACC ]     STREAM     LISTENING     37721  7043/mysqld         /mysql/data1/mysql.sock
unix  2      [ ACC ]     STREAM     LISTENING     38057  7173/mysqld         /mysql/data2/mysql.sock

1)登录第一个mysql(3306)

bash 复制代码
/opt/mysql5.5/bin/mysql -S /mysql/data1/mysql.sock
/opt/mysql5.5/bin/mysql -h`hostname` -P3306
/opt/mysql5.5/bin/mysql --defaults-file=/mysql/data1/my.cnf

2)第二个

bash 复制代码
/opt/mysql5.5/bin/mysql -S /mysql/data2/mysql.sock
/opt/mysql5.5/bin/mysql -h`hostname` -P3307
/opt/mysql5.5/bin/mysql --defaults-file=/mysql/data2/my.cnf

3)第三个

bash 复制代码
/opt/mysql5.5/bin/mysql -S /mysql/data3/mysql.sock
/opt/mysql5.5/bin/mysql -h`hostname` -P3308
/opt/mysql5.5/bin/mysql --defaults-file=/mysql/data3/my.cnf

配置文件的加载顺序(后应用的会覆盖先应用的配置内容):

mysql/mysqld

1、/etc/my.cnf-->/etc/mysql/my.cnf-->basedir/my.cnf-->basedir/etc/my.cnf-->~/.my.cnf

相关推荐
中科三方11 分钟前
如何通过DNS解析实现负载均衡?有哪些优势?
运维·负载均衡
独爱竹子的功夫熊猫15 分钟前
数据库技巧:INSERT IGNORE的高效插入策略
数据库·后端·mysql
安科瑞刘鸿鹏19 分钟前
双碳时代,能源调度的难题正从“发电侧”转向“企业侧”
大数据·运维·物联网·安全·能源
小呆瓜历险记35 分钟前
ubuntu 22.04搭建SOC开发环境
linux·运维·ubuntu
码农101号36 分钟前
Linux中shell流程控制语句
linux·运维·服务器
水水沝淼㵘40 分钟前
嵌入式开发学习日志(数据库II && 网页制作)Day38
服务器·c语言·网络·数据结构·数据库·学习
ajassi200040 分钟前
开源 java android app 开发(十二)封库.aar
android·java·linux·开源
程序猿小D1 小时前
第26节 Node.js 事件
服务器·前端·javascript·node.js·编辑器·ecmascript·vim
聪明小萝卜1 小时前
无法与IP建立连接,未能下载VSCode服务器
运维·服务器
JuiceFS1 小时前
深度解析 JuiceFS 权限管理:Linux 多种安全机制全兼容
运维·后端