MySQL之初始化配置
0. 作用
- 控制MySQL的启动
- 影响客户端的连接
1. 初始化配置的方式
- 源码安装:编译过程中设置初始化参数
- 配置文件:数据库启动前,设定配置文件参数
/etc/my.cnf
- 启动脚本命令行:
mysqld_safe –skip-grant-tables –skip-networking &
2. 配置文件的应用
2.1 配置文件读取顺序
[root@db01 ~]# mysqld --help --verbose | grep my.cnf
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf # 注:
# 默认情况下,MySQL启动时,会依次读取以上配置文件,如果有重复选项,会以最后一个文件设置的为准。
# 但是,如果启动时加入了--defaults-file=xxxx指定配置文件时,以上的所有文件都不会读取.
2.2 配置文件书写格式
# 用户区分不同程序参数
[标签]
配置项=xxxx
标签类型:服务端、客户端# 负责数据库服务端运行参数设定
服务器端标签:
[mysqld]
[mysqld_safe]
[server]# 影响客户端连接(只影响本地,不影响远程)
客户端标签:
[mysql]
[mysqldump]
[client]-------------------------------
# 配置文件基础模板
[mysqld] # 服务器端标签
user=mysql # 负责数据库管理用户
basedir=/app/database/mysql # 软件的安装位置
datadir=/data/3306 # 数据的存放位置
server_id=6 # 表示节点的唯一编号(主从有用)
port=3306 # 端口号
socket=/tmp/mysql.sock # 套接字文件
[mysql] # 客户端标签
socket=/tmp/mysql.sock # 读取socket文件的位置点
3. MySQL的多实例
3.1 同版本多实例
3.1.1 规划
- 软件1份
- 配置文件 3份
/data/330{7..9}/my.cnf
- 数据目录 3份
/data/330{7..9}/data
- 初始化数据 3次
- 日志目录 3份
/binlog/330{7..9}
- socket 3份
/tmp/mysql330{7..9}
- 端口 3份
port=3307,3308,3309
- server_id 3份
server_id=7,8,9
3.1.2 配置过程
- 创建需要目录
[root@db01 ~]# mkdir -p /data/330{7..9}/data
[root@db01 ~]# mkdir -p /binlog/330{7..9}
- 创建配置文件
cat > /data/3307/my.cnf <<EOF
[mysqld]
basedir=/app/database/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
log_error=/data/3307/mysql.log
port=3307
server_id=7
log_bin=/binlog/3307/mysql-bin
EOFcat > /data/3308/my.cnf <<EOF
[mysqld]
basedir=/app/database/mysql
datadir=/data/3308/data
socket=/data/3308/mysql.sock
log_error=/data/3308/mysql.log
port=3308
server_id=8
log_bin=/binlog/3308/mysql-bin
EOFcat > /data/3309/my.cnf <<EOF
[mysqld]
basedir=/app/database/mysql
datadir=/data/3309/data
socket=/data/3309/mysql.sock
log_error=/data/3309/mysql.log
port=3309
server_id=9
log_bin=/binlog/3309/mysql-bin
EOF
- 初始化数据
chown -R mysql.mysql /data /binlog
mv /etc/my.cnf /etc/my.cnf.bakmysqld --initialize-insecure --user=mysql --datadir=/data/3307/data --basedir=/app/database/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3308/data --basedir=/app/database/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3309/data --basedir=/app/database/mysql
- 准备启动脚本
cat > /etc/systemd/system/mysql3307.service << EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/database/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
LimitNOFILE = 5000
EOFcat > /etc/systemd/system/mysql3308.service << EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/database/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
LimitNOFILE = 5000
EOFcat > /etc/systemd/system/mysql3309.service << EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/database/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
LimitNOFILE = 5000
EOF
- 启动多实例
systemctl stop mysql
systemctl start mysql3307
systemctl start mysql3308
systemctl start mysql3309netstat -tulnp | grep mysqld
tcp6 0 0 :::3307 :::* LISTEN 1796/mysqld
tcp6 0 0 :::3308 :::* LISTEN 1857/mysqld
tcp6 0 0 :::3309 :::* LISTEN 1892/mysqld
3.2 不同版本多实例
3.2.0 软链接不同版本软件,修改环境变量
ln -s mysql-5.6.46-linux-glibc2.12-x86_64 mysql56
ln -s mysql-8.0.18-linux-glibc2.12-x86_64 mysql80
mv /etc/my.cnf /etc/my.cnf.bakvim /etc/profile
#export PATH=/app/database/mysql/bin:$PATH
3.2.1 准备不同目录
mkdir -p /data/331{7..9}/data
mkdir -p /binlog/331{7..9}
chown -R mysql.mysql /data /binlog
3.2.2 准备配置文件
cat > /data/3317/my.cnf <<EOF
[mysqld]
basedir=/app/database/mysql
datadir=/data/3317/data
socket=/data/3317/mysql.sock
log_error=/data/3317/mysql.log
port=3317
server_id=17
log_bin=/binlog/3317/mysql-bin
EOFcat > /data/3318/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/app/database/mysql56
datadir=/data/3318/data
socket=/data/3318/mysql.sock
log_error=/data/3318/mysql.log
port=3318
server_id=18
log_bin=/binlog/3318/mysql-bin
EOFcat > /data/3319/my.cnf <<EOF
[mysqld]
basedir=/app/database/mysql80
datadir=/data/3319/data
socket=/data/3319/mysql.sock
log_error=/data/3319/mysql.log
port=3319
server_id=19
log_bin=/binlog/3319/mysql-bin
EOF
3.2.3 初始化数据
/app/database/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/data/3317/data --basedir=/app/database/mysql
/app/database/mysql56/scripts/mysql_install_db --user=mysql --datadir=/data/3318/data --basedir=/app/database/mysql56
/app/database/mysql80/bin/mysqld --initialize-insecure --user=mysql --datadir=/data/3319/data --basedir=/app/database/mysql80
3.2.4 准备启动脚本
cat > /etc/systemd/system/mysql3317.service << EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/database/mysql/bin/mysqld --defaults-file=/data/3317/my.cnf
LimitNOFILE = 5000
EOFcat > /etc/systemd/system/mysql3318.service << EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/database/mysql56/bin/mysqld --defaults-file=/data/3318/my.cnf
LimitNOFILE = 5000
EOFcat > /etc/systemd/system/mysql3319.service << EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/database/mysql80/bin/mysqld --defaults-file=/data/3319/my.cnf
LimitNOFILE = 5000
EOF
3.2.5 启动多实例
systemctl start mysql3317
systemctl start mysql3318
systemctl start mysql3319netstat -tulnp | grep mysqld
tcp6 0 0 :::3317 :::* LISTEN 3162/mysqld
tcp6 0 0 :::3318 :::* LISTEN 3197/mysqld
tcp6 0 0 :::3319 :::* LISTEN 3225/mysqld
tcp6 0 0 :::33060 :::* LISTEN 3225/mysqld
MySQL之初始化配置相关推荐
- MySQL 基本信息的查询(初始化配置信息 my.ini)
0. my.ini MySQL 的初始化配置信息 mysql 启动时会读取该配置文件,如果按照默认方式安装 mysql 的话,该配置文件在: C:\ProgramData\MySQL\MySQL Se ...
- mysql.sock 初始化_mysql8.0 部署、初始化和创建实例
环境信息: centos 7.4.1708 mysql 8.0.11 1.下载解压缩mysql包 cd /usr/local/ wget https://cdn.mysql.com//Download ...
- mysql集群初始化配置_集群Cluster MySQL的安装配置和使用
集群Cluster MySQL的安装配置和使用 发布时间:2020-05-28 14:20:03 来源:亿速云 阅读:233 作者:鸽子 MySQL Cluster MySQL集群 基本概念: &qu ...
- MySQL初始化配置
目录 MySQL初始化配置 解决方案1(推荐): 解决方案2: MySQL初始化配置 刚安装完成MySQL后,在进入MySQL时,总是有错误提示: $ mysql -u root -p Enter p ...
- apollo动态切换mysql数据源_log4j2从Apollo初始化配置并可动态变更
本篇主要介绍log4j2如何从apollo配置中心初始化配置并可动态变更配置, 可使用在log4j2.xml配置文件下 1. 在apollo的application命名空间下添加约定的配置项, 如对变 ...
- Hadoop集群搭建(七:MySQL的安装配置)
实验 目的 要求 目的: 1.掌握MySQL在集群平台中的安装 要求: 完成MySQL的集群版的安装: MySQL集群的相关服务进程能够正常启动: MySQL集群的SQL服务能够作为系统服务开机自动启 ...
- mysql windows 管道连接,科技常识:Windows Server 2016 MySQL数据库安装配置详细安装教程...
今天小编跟大家讲解下有关Windows Server 2016 MySQL数据库安装配置详细安装教程 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Windows Server 2016 ...
- CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin,mysql8.0.1/mysql5.7.22+centos7,windows mysql安装、配置...
介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&am ...
- mysql服务实例配置_MySQL多实例配置(一)
MySQL数据库的集中化运维,能够通过在一台MySQL数据库服务器上,部署多个MySQL实例.该功能是通过mysqld_multi来实现.mysqld_multi用于管理多个mysqld的服务进程,这 ...
最新文章
- SAP PP顾问面试题及资料
- 直播未来属于RTMP还是HTTP?
- 【UVA - 10037】Bridge(过河问题,经典贪心)
- 【java】Java 中的 Exchanger 线程同步使用方法 线程之间交换数据
- Index of /pub/software/graphics/pngtoico/
- 牛客练习赛26---未完
- 高斯光束matlab 仿真,高斯光束的matlab仿真
- Excel如何统计单元格中姓名个数
- 我是屌丝——彪悍的人生不需要代言
- stimulsoft oracle,Stimulsoft Reports
- Python股票分析系列——数据整理和绘制.p2
- 学习《图说设计模式》建造者模式
- 【开发记录】DirectX Custom Graphics Engine(1)
- CNN中的translation equivariant和translation invariant
- 手游神武2最新服务器,神武2手游新服开启公告 安卓IOS新服开启
- Blender 免费展UV利器-UVPacker
- 春节程序员六大伤不起
- 企业微信支付的接口开发总结
- 户外运动耳机推荐、最适合徒步的运动耳机品牌推荐排名
- .NET 6使用ImageSharp给图片添加水印
热门文章
- 苹果手机如何安装微信分身?教程奉上!
- android大屏适配_华为发布折叠屏官方适配方案
- c语言 结构体 ppt,C语言结构体ppt课件
- Content-type的常见类型
- 如果c盘空间太小,vs安装不下怎么办?
- 登录失败未授权用户在此计算机上win10,未授予用户在此计算机上的请求登录类型Win10无法访问解决方法...
- Android - 随机生成背景颜色
- allegro 17.2版本 再画内电层使用正片的时候,内层孔与内层铜不会避让
- 外网访问内网服务器配置方法
- 【linux】循序渐进学运维-mkdir