[toc]
MySQL启动关闭流程 CentOS6
CentOS7
启停命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /etc/init.d/mysqld start service mysqld start systemctl start mysqld /app/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql /etc/init.d/mysqld stop service mysqld stop systemctl stop mysqld mysqladmin -uroot -p123 shutdown kill -9 PIDkillall mysqld pkill mysqld
可通过如下地址查看,生产高并发环境野蛮粗鲁杀死数据库进程导致故障企业案例:
625某电商网站数据库宕机故障解决实录(上)
625某电商网站数据库宕机故障解决实录(下)
MySQL实例初始化配置 配置文件读取顺序
预编译
配置文件(读取顺序)
/etc/my.cnf server_id=1
/etc/mysql/my.cnf server_id=2
/$BASEDIR/my.cnf server_id=3
defaults-extra-file=/tmp/my.cnf server_id=5
~/.my.cnf server_id=4
1 mysql -uroot -p123 -e 'show variables like "server_id"'
命令行
注意:当MySQL启动时指定了该参数 --defaults-file=/etc/my.cnf
MySQL配置文件,当出现相同配置时,最后读取的则覆盖,不同配置则叠加
判断那个配置文件生效 1 2 3 4 5 6 7 8 9 10 11 12 socket=/application/mysql/tmp/mysql.sock --socket=/tmp/mysql.sock /etc/my.cnf中[mysqld]标签下:socket=/opt/mysql.sock --defaults-file=/tmp/a.txt配置文件中[mysqld]标签下:socket=/tmp/test.sock mysqld --defaults-file=/tmp/a.txt --socket=/tmp/mysql.sock --user=mysql
mysql配置文件 MySQL配置文件的作用:
1 2 3 4 5 6 7 [mysqld || server] // 影响服务端的启动 socket=/tmp/mysql.sock [mysql || client] // 影响客户端的连接 socket=/tmp/mysql.sock user=root password=789
MySQL多实例 先决条件:
单实例:
多实例:
MySQL多实例:
多个数据目录
多个配置文件
多个端口
多个socket文件
多个PID文件
多个日志文件
多实例部署 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 mkdir -p /data/330{7..9}vim /data/3307/my.cnf [mysqld] port=3307 basedir=/app/mysql datadir=/data/3307/data socket=/data/3307/mysql.sock pid_file=/data/3307/mysql.pid log-error=/data/3307/mysql.err vim /data/3308/my.cnf [mysqld] port=3308 basedir=/app/mysql datadir=/data/3308/data socket=/data/3308/mysql.sock pid_file=/data/3308/mysql.pid log-error=/data/3308/mysql.err vim /data/3309/my.cnf [mysqld] port=3309 basedir=/app/mysql datadir=/data/3309/data socket=/data/3309/mysql.sock pid_file=/data/3309/mysql.pid log-error=/data/3309/mysql.err cd /app/mysql/scripts/./mysql_install_db --defaults-file=/data/3307/my.cnf --user=mysql --basedir=/app/mysql --datadir=/data/3307/data ./mysql_install_db --defaults-file=/data/3308/my.cnf --user=mysql --basedir=/app/mysql --datadir=/data/3308/data ./mysql_install_db --defaults-file=/data/3309/my.cnf --user=mysql --basedir=/app/mysql --datadir=/data/3309/data tree -L 3 /data/ /data/ ├── 3306 ├── 3307 │ ├── data │ │ ├── ibdata1 │ │ ├── ib_logfile0 │ │ ├── ib_logfile1 │ │ ├── mysql │ │ ├── performance_schema │ │ └── test │ └── my.cnf ├── 3308 │ ├── data │ │ ├── ibdata1 │ │ ├── ib_logfile0 │ │ ├── ib_logfile1 │ │ ├── mysql │ │ ├── performance_schema │ │ └── test │ └── my.cnf └── 3309 ├── data │ ├── ibdata1 │ ├── ib_logfile0 │ ├── ib_logfile1 │ ├── mysql │ ├── performance_schema │ └── test └── my.cnf chown -R mysql.mysql /data//app/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf --user=mysql & /app/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf --user=mysql & /app/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf --user=mysql & mysqld_safe --defaults-file=/data/3307/my.cnf & mysqld_safe --defaults-file=/data/3308/my.cnf & mysqld_safe --defaults-file=/data/3309/my.cnf & vim /usr/lib/systemd/system/mysql3307.service [Unit] Description=MySQL Server After=network.target,syslog.target [Service] ExecStart=/app/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf --user=mysql [Install] WantedBy=multi-user.target vim /usr/lib/systemd/system/mysql3308.service [Unit] Description=MySQL Server After=network.target,syslog.target [Service] ExecStart=/app/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf --user=mysql [Install] WantedBy=multi-user.target vim /usr/lib/systemd/system/mysql3309.service [Unit] Description=MySQL Server After=network.target,syslog.target [Service] ExecStart=/app/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf --user=mysql [Install] WantedBy=multi-user.target netstat -lntp | grep 330 mysqladmin -uroot -p -S /data/3307/mysql.sock password '123' mysqladmin -uroot -p -S /data/3308/mysql.sock password '123' mysqladmin -uroot -p -S /data/3309/mysql.sock password '123' mysql -uroot -p123 -S /data/3307/mysql.sock mysql -uroot -p123 -S /data/3308/mysql.sock mysql -uroot -p123 -S /data/3309/mysql.sock vim /usr/local/bin/mysql3307 mysql -uroot -p123 -S /data/3307/mysql.sock vim /usr/local/bin/mysql3308 mysql -uroot -p123 -S /data/3308/mysql.sock vim /usr/local/bin/mysql3309 mysql -uroot -p123 -S /data/3309/mysql.sock