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

相关推荐
_OP_CHEN1 分钟前
【Linux系统编程】(二十八)深入 ELF 文件原理:从目标文件到程序加载的完整揭秘
linux·操作系统·编译·c/c++·目标文件·elf文件
Web极客码3 分钟前
WordPress博客关键词
服务器·wordpress·网站加速
Fleshy数模34 分钟前
MySQL 表创建全攻略:Navicat 图形化与 Xshell 命令行双模式实践
linux·mysql
Nandeska44 分钟前
15、基于MySQL的组复制
数据库·mysql
神梦流1 小时前
GE 引擎的非标准数据流处理:稀疏张量与自定义算子在图优化中的语义保持
linux·运维·服务器
兜兜转转了多少年1 小时前
从脚本到系统:2026 年 AI 代理驱动的 Shell 自动化
运维·人工智能·自动化
AllData公司负责人1 小时前
AllData数据中台-数据同步平台【Seatunnel-Web】整库同步MySQL同步Doris能力演示
大数据·数据库·mysql·开源
.小墨迹2 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
Lsir10110_2 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
醇氧2 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器