mysql启动

Mysql启动配置文件夹在路径
Mysql启动方式
Mysql启动的内部流程
常见启动故障及分析过程


Mysql启动配置文件加载路径
    Mysql可以读取到的配置文件
         /etc/my.cnf
         /etc/mysql/my.cnf
         /usr/local/mysql/etc/my.cnf
         ~/.my.cnf
(mysqld --verbose --help | grep my.cnf可以看到)

--defaults-file指定读取配置文件,不再读取其他配置文件
--defaults-extra-file指定mysqld在读取完指定配置文件后,还需要读取用户指定的特殊配置文件(比如把密码写在一个别的地方)
--print-defaults输出“现在(?根据我的实验,应该不是现在,而是按照读取顺序读取到的)”mysqld指定的参数
   
   
  1. [root@slave lib]# /usr/local/mysql/bin/mysqld --print-defaults
  2. /usr/local/mysql/bin/mysqld would have been started with the following arguments:
  3. --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --user=mysql --symbolic-links=0
mysqld --defaults-file=/data/mysqldata/3306/my.cnf --print-defaults
   
   
  1. [root@slave lib]# /usr/local/mysql/bin/mysqld --defaults-file=/data/mysqldata/3306/my.cnf --print-defaults
  2. /usr/local/mysql/bin/mysqld would have been started with the following arguments:
  3. --port=3306 --user=mysql --socket=/data/mysqldata/3306/mysql.sock --pid-file=/data/mysqldata/3306/mysql.pid --basedir=/usr/local/mysql --datadir=/data/mysqldata/3306/data --tmpdir=/data/mysqldata/3306/tmp --open_files_limit=10240 --explicit_defaults_for_timestamp --sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES --max_allowed_packet=256M --max_heap_table_size=256M --net_buffer_length=8k --sort_buffer_size=2M --join_buffer_size=4M --read_buffer_size=2M --read_rnd_buffer_size=16M --log-bin=/data/mysqldata/3306/binlog/mysql-bin --binlog_cache_size=32M --max_binlog_cache_size=512M --max_binlog_size=512M --binlog_format=mixed --log_output=FILE --log-error=../mysql-error.log --slow_query_log=1 --slow_query_log_file=../slow_query.log --general_log=0 --general_log_file=../general_query.log --expire-logs-days=14 --innodb_data_file_path=ibdata1:2048M:autoextend --innodb_log_file_size=256M --innodb_log_files_in_group=3 --innodb_buffer_pool_size=1024M

Mysql启动方式
标准方式【这两种相等】
service mysqld start
/etc/init.d/mysqld start
说明mysqld来自:
cp /usr/local/mysql/support-file/mysql.server   /etc/init.d/mysqld

以下三种方式,可用于启动多实例:
mysqld_safe --defaults-file=  &
mysqld --defaults-file=  &
mysqld_multi start 3306

几种启动方式的关系
service mysqld start  调用 ---> mysqld_safe 调用 ---> mysqld    

mysqld_multi可以调用mysqld_safe再调用mysqld,或者只用调用mysqld
         mysqld_multi  
          |                 | 
mysqld_safe      mysqld
          |
mysqld

Mysqld是Mysql的一个核心程序,用于管理Mysql的数据库文件及用户的请求,同时也是参数最多的
Mysqld可以读取配置文件中的“[mysqld]”部分

Mysqld_safe
可以读取的配置文件部分[mysqld],[server],[mysqld_safe]
调用的mysqld是可以在[mysqld_safe]中用--mysqld,--mysqld-version指定

[mysqld_safe]比较有用的参数:
--mysqld --myqld-version
--open-file-limit
--nice=prority
--malloc-lib
    Malloc-lib=/path/libtcmalloc.so
启动方式
/path/mysqld_safe --defaults-file=  &


Mysql.server
用于启动和关闭mysqld(单实力环境)
    在support-file目录里,如果使用二进制安装:/etc/init.d/mysql[d]
    可以读取的配置文件中 [mysqld.server] , [mysqld] 这两部分
    默认使用--use-mysqld-safe 调用 mysqld_safe 启动 mysqld
调用方式
 /usr/local/mysql/support-file/mysql.server stop | start | restart


Mysqld_multi
用于管理多实例启动的一个脚本
    读取配置文件中的 [mysqld_multi] , [mysqldN]  N需要是一个整数,建议使用端口号表示,该部分配置会覆盖 [mysqld] 部分中的配置
    [mysqld_multi]参考
         [mysqld_multi]
         mysqld=/usr/local/bin/mysqld_safe
         mysqladmin=/usr/lcoal/bin/mysqladmin
         user= multi_admin用户名
         password= multipassword密码

Mysqld_multi
    [mysqld3306]
    port=3306
    datadir=/data/mysql/mysql_3306/data
    socket=/tmp/mysql_3306.sock
    server-id=203306
    log-bin=/data/mysql/mysql_3306/logs/myql-bin
 
调用方式   
Mysqld_multi {start | stop | reload | report | [ GNR [,GNR] ...]

假如
[mysqld]
innodb_buffer_pool_size=100M
[mysqld3308]
innodb_buffer_pool_size=1G
那么启动后是1G,反过来[mysql3308]在前,[mysqld]在后,也是1G

mysqld_multi start 1,2,3 或 1-3


Mysql5.6新特性之一
Easy Change innodb log file(5.6.8 later)
    关闭Mysql并确认没有报错
    更改配置文件innodb_log_file_size或是更改log文件个数:innodb_log_file_in_group
    启动Mysql即可

要不就得innodbackupex 备份,回复prepare前把log大小改了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值