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 配置过程
  1. 创建需要目录
[root@db01 ~]# mkdir -p /data/330{7..9}/data
[root@db01 ~]# mkdir -p /binlog/330{7..9}
  1. 创建配置文件
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
  1. 初始化数据
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
  1. 准备启动脚本
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
  1. 启动多实例
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之初始化配置相关推荐

  1. MySQL 基本信息的查询(初始化配置信息 my.ini)

    0. my.ini MySQL 的初始化配置信息 mysql 启动时会读取该配置文件,如果按照默认方式安装 mysql 的话,该配置文件在: C:\ProgramData\MySQL\MySQL Se ...

  2. mysql.sock 初始化_mysql8.0 部署、初始化和创建实例

    环境信息: centos 7.4.1708 mysql 8.0.11 1.下载解压缩mysql包 cd /usr/local/ wget https://cdn.mysql.com//Download ...

  3. mysql集群初始化配置_集群Cluster MySQL的安装配置和使用

    集群Cluster MySQL的安装配置和使用 发布时间:2020-05-28 14:20:03 来源:亿速云 阅读:233 作者:鸽子 MySQL Cluster MySQL集群 基本概念: &qu ...

  4. MySQL初始化配置

    目录 MySQL初始化配置 解决方案1(推荐): 解决方案2: MySQL初始化配置 刚安装完成MySQL后,在进入MySQL时,总是有错误提示: $ mysql -u root -p Enter p ...

  5. apollo动态切换mysql数据源_log4j2从Apollo初始化配置并可动态变更

    本篇主要介绍log4j2如何从apollo配置中心初始化配置并可动态变更配置, 可使用在log4j2.xml配置文件下 1. 在apollo的application命名空间下添加约定的配置项, 如对变 ...

  6. Hadoop集群搭建(七:MySQL的安装配置)

    实验 目的 要求 目的: 1.掌握MySQL在集群平台中的安装 要求: 完成MySQL的集群版的安装: MySQL集群的相关服务进程能够正常启动: MySQL集群的SQL服务能够作为系统服务开机自动启 ...

  7. mysql windows 管道连接,科技常识:Windows Server 2016 MySQL数据库安装配置详细安装教程...

    今天小编跟大家讲解下有关Windows Server 2016 MySQL数据库安装配置详细安装教程 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Windows Server 2016 ...

  8. CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin,mysql8.0.1/mysql5.7.22+centos7,windows mysql安装、配置...

    介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&am ...

  9. mysql服务实例配置_MySQL多实例配置(一)

    MySQL数据库的集中化运维,能够通过在一台MySQL数据库服务器上,部署多个MySQL实例.该功能是通过mysqld_multi来实现.mysqld_multi用于管理多个mysqld的服务进程,这 ...

最新文章

  1. SAP PP顾问面试题及资料
  2. 直播未来属于RTMP还是HTTP?
  3. 【UVA - 10037】Bridge(过河问题,经典贪心)
  4. 【java】Java 中的 Exchanger 线程同步使用方法 线程之间交换数据
  5. Index of /pub/software/graphics/pngtoico/
  6. 牛客练习赛26---未完
  7. 高斯光束matlab 仿真,高斯光束的matlab仿真
  8. Excel如何统计单元格中姓名个数
  9. 我是屌丝——彪悍的人生不需要代言
  10. stimulsoft oracle,Stimulsoft Reports
  11. Python股票分析系列——数据整理和绘制.p2
  12. 学习《图说设计模式》建造者模式
  13. 【开发记录】DirectX Custom Graphics Engine(1)
  14. CNN中的translation equivariant和translation invariant
  15. 手游神武2最新服务器,神武2手游新服开启公告 安卓IOS新服开启
  16. Blender 免费展UV利器-UVPacker
  17. 春节程序员六大伤不起
  18. 企业微信支付的接口开发总结
  19. 户外运动耳机推荐、最适合徒步的运动耳机品牌推荐排名
  20. .NET 6使用ImageSharp给图片添加水印

热门文章

  1. 苹果手机如何安装微信分身?教程奉上!
  2. android大屏适配_华为发布折叠屏官方适配方案
  3. c语言 结构体 ppt,C语言结构体ppt课件
  4. Content-type的常见类型
  5. 如果c盘空间太小,vs安装不下怎么办?
  6. 登录失败未授权用户在此计算机上win10,未授予用户在此计算机上的请求登录类型Win10无法访问解决方法...
  7. Android - 随机生成背景颜色
  8. allegro 17.2版本 再画内电层使用正片的时候,内层孔与内层铜不会避让
  9. 外网访问内网服务器配置方法
  10. 【linux】循序渐进学运维-mkdir