2322312 发表于 2016-11-21 12:32:57

msyql四种启动方式

1 mysql默认启动配置文件my.cnf顺序
第一步:/etc/my.cnf
第二步:/etc/mysql/my.cnf
第三步:/usr/local/mysql/etc/my.cnf
第四步:~/.my.cnf
可以通过命令查看加载顺序:
# which mysqld
/usr/local/mysql/bin/mysqld
# /usr/local/mysql/bin/mysqld --verbose --help|grep -A 1 'Default options'
/etc/my.cnf    /etc/mysql/my.cnf    /usr/local/mysql/etc/my.cnf       ~/.my.cnf
其中第三个读取的位置/usr/local/mysql/etc/my.cnf与你的basedir目录有关,不是都一样的。如果初始化或者启动的时候指定--defaults-file路径,则不会按照上面顺序读取,只读取指定路径。
如指定位置启动服务: /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=root &,只会加载/etc/my.cnf配置文件,不在加载其他配置文件。


2 mysql的四种启动方式
(1)/etc/init.d/mysqld 即mysql.server
/etc/init.d/mysqld这个启动脚本时从/usr/local/mysql/support-files/mysql.server复制的;
可以读取配置文件中,;
查看mysql.server这个脚本内容可以发现,mysqld服务启动实质还是要调用mysqld_safe;

启动命令:/etc/init.d/mysqld start
关闭命令:/etc/init.d/mysqld stop

(2)/usr/local/mysql/bin/mysqld_safe
mysqld_safe 是一个启动脚本,用它启动实质是启动mysqld守护进程,如果mysqld 不存在了,自动把mysqld拉起来,用mysqld_safe启动会输出的信息: mysqld_safe Starting mysqld daemon with databases from /data/mysql/mysql3306/data
mysqld_safe可以读取my.cnf文件的,,,中配置;
调用mysqld是可以再中用--mysqld,--mysqld-version指定;


单实例启动和关闭 :
启动命令: /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
关闭命令:/usr/local/mysql/bin/mysqladmin -uroot -p147258shutdown
多实例启动和关闭 :
启动命令:/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/mysql3306/my3306.cnf &
关闭命令:/usr/local/mysql/bin/mysqladmin -uroot -p147258 -S /tmp/mysql3306.sock shutdown
启动命令:/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/mysql3307/my3307.cnf &
关闭命令:/usr/local/mysql/bin/mysqladmin -uroot -p147258 -S /tmp/mysql3307.sock shutdown

(3)/usr/local/mysql/bin/mysqld
mysqld是mysql的一个核心程序,用于管理mysql的数据库文件及用户的请求操作,同时也是参数最多的,可以读取配置文件中的部分;

#查看该版本相应的参数:
mysqld --verbose --help

单实例启动和关闭:
启动命令:/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf &
关闭命令:# /usr/local/mysql/bin/mysqladmin -uroot -p147258 shutdown
多实例启动和关闭 :
启动命令: /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf
关闭命令:/usr/local/mysql/bin/mysqladmin -uroot -p147258 -S /tmp/mysql3306.sock shutdown
启动命令: /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3307/my3307.cnf
关闭命令:/usr/local/mysql/bin/mysqladmin -uroot -p147258 -S /tmp/mysql3307.sock shutdown

(4)/usr/local/mysql/bin/mysqld_multi
mysqld_multi是用来管理多实例的一个脚本;
可以读取,其中N是一个整数,建议用端口号表示,该部分配置会覆盖中的配置;


mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin

basedir= /usr/local/mysql-5.5.37

innodb_buffer_pool_size = 2G
innodb_flush_log_at_trx_commit = 2

页: [1]
查看完整版本: msyql四种启动方式