MySQL启动
配置文件
MySQL读取配置文件顺序
/etc/mys.cnf
/etc/mysql/my.cnf
/usr/local/mysql/etc/my.cnf
~/.my.cnf
不同版本的加载顺序可能有不同,建议用一下方法查看加载顺序
种方法:
# /usr/local/mysql/bin/mysqld --verbose --help | grep my.cnf
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 2 - No such file or directory)
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
第二种方法:
# strace -t -t -t /usr/local/mysql/bin/mysqld 2>&1 | tee /home/1.log
此命令仅仅停留在测试环境使用,切忌用在生产环境里
跟踪MySQL启动过程,查看配置文件的加载顺序
如果指定了defaults-file其他地方的配置文件都不生效了,同时可以查看MySQL 加载了什么样的配置参数
# /usr/local/mysql/bin/mysqld -- defaults-file=/data/mysql/mysql3306/my.cnf --print-defaults
启动方式
标准启动方式:
Service mysqld start
/etc/init.d/mysqld start
Mysqld文件来自于
cp /usr/local/mysqld/support-file/mysql.server /etc/init.d/mysqld
以下三种方式可以启动多实例
/usr/local/mysql/bin/mysqld --defaults-file=/path/my.cnf & 推荐启动方式
/usr/local/mysql/bin/mysqld_safe --defaults-file=/path/my.cnf &可自动启动
/usr/local/mysql/bin/mysqld_multi start 3306
Mysqld_safe调用的 mysqld 启动
Mysql永远不要用自动启动
Mysql启动排错;
1,配置文件错误:
参数区域:
[mysql] --参数区--可以删除
[mysqld_safe] mysqld_safe启动方式参数区
[mysqld] --mysql启动重要参数区域
遇到启动失败首先查看错误日志,若没有错误日志,可以使用不同的启动方式测试能否启动,这样可以排查不同参数区域的参数是否有错,若有unknow提示,可以查看手册,看是否是参数格式或者拼写有误,如果需要快速启动可以注释掉提示错误的功能参数。如果错误日志显示的是错误代码,可以通过以下命令查看相信的故障原因:
# /usr/local/mysql/bin/perror 28
OS error code 28: No space left on device
# /usr/local/mysql/bin/perror 29
OS error code 29: Illegal seek
Mysql多实例
为什么要使用多实例:
1,现在机器比较强劲,单实例浪费机器资源
2,项目间隔离,MySQL单个实例多库使用随着连接数的增多,性能会下降严重
3,切分大实例,单实例物理文件过大,备份恢复时间周期超过预期
4,多实例可以构建高可用集群,充分利用资源,不同业务错高峰混跑,更节约成本
安装多实例的注意事项:
参数中应当注意的:
port = 3306
socket = /tmp/mysql3306.sock
server-id = 1003306 #命名规则:服务器ip后一位+实例端口号
datadir = /data/mysql/mysql3306/data
tmpdir = /data/mysql/mysql3306/tmp
log-bin = /data/mysql/mysql3306/logs/mysql-bin
实例规划:
1,一台server部署的实例好是错开压力高峰,这样有利于均衡服务器的压力,也可以充分的利用机器的资源
2,建议使用一个mysqld启动不同的实例,不要给一个实例一个mysqld
3,使用本地磁盘存储mysql数据,尽量不要使用虚拟化
4,使用独立的硬盘来存储data数据
5,尽量保持mysql版本的一致性,不建议使用多版本
6,一组mysql实例用同一个端口,保持主从端口一致性
多实例总结:
数据库安装部署是自动化工作的基础
方式比较多,选择自己擅长的以及管理方便的,这里没有好只有更合适
企业环境,不建议使用多版本,对运维管理上比较麻烦
私有用平台,建议也是2-3个版本即可