service下令治理mysql启动和休止的办法介绍
安装完成mysql之后,每次启动和休止都很费事,有时候记不住去网上搜一下,瞧见大家都用service来进行办事的治理,试了一下,公然好用。举荐大家也要这么用。
启动和休止mysql办事
# 启动 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/tmp/mysql.sock # 休止 kill `cat /usr/local/mysql/var/mysqld.pid`
这样启动和休止需要记住mysql的途径和pid的保留位置,因而比拼费事。
service 系统办事治理
service下令用于治理系统办事,比方启动(start),休止(stop),重新启动(restart),查看状态(status)等。service下令自身就是一个shell足本,用于利便的调取该足原来完成任务,它在/etc/init.d/名目下查寻指定的办事足本。
相干的下令还有:
chkconfig:用于查看、设定办事的运转级别
ntsysv:用于设定办事的自启动
service运转指定办事(称为System V初始足本),只保存LANG和TERM两个环境变量,并设定目前途径为/。要是一个办事足本想要由service进行治理,至少需要支撑start和stop下令,并将足本保留在/etc/init.d/名目下。
service的运用方式
## 下令格局 Usage: service < option > | --status-all | [ service_name [ command | --full-restart ] ] # 查看指定办事的下令行运用帮忙 service## mysqld 举例 $ service mysqld Usage: mysqld {start|stop|restart|reload|force-reload|status} [ MySQL server options ] # 启动、休止、重新启动指定办事 service start|stop|restart ## mysqld举例restart,即先施行stop再施行start下令 $ service mysqld restart Shutting down MySQL.. [ OK ] Starting MySQL. [ OK ] # 显示指定办事的状态 $ service mysqld status MySQL running (27390) [ OK ] # 显示所有办事的状态 service --status-all # 查看系统办事列表,以及每个办事的运转级别 chkconfig --list # 设定指定办事开机时可否主动启动 chkconfig on|off # 以全屏幕文本界面设定办事开机时可否主动启动 # 必需以root启动,空格切换状态,tab切换按钮,高低鼠标挪移光标 ntsysv
除了用mysqld示例外,我们修改了主机名、IP地址等信息时,也要时常重新启动网络生效,此时可以调取:
service network status|restart
用service治理mysqld办事
我们已经理解了根基的见识,此刻就可以开端革新了,第一要在你的安装名目里寻到mysql.server文件。
$ locate mysql.server /usr/local/mysql/support-files/mysql.server
这个文件在安装时初始化,其实也就是一个足本文件,支撑输入不一样的参数施行不一样的功能,我们可以查看它的start函数:
# 依据输入的下令施行不一样的足本,第一推断可否为start case "$mode" in 'start') # Start daemon # Safeguard (relative paths, core dumps..) cd $basedir echo $echo_n "Starting MySQL" # 查看该bin/mysqld_safe下令可否存在,要是不存在,就直接报错:寻不到 if test -x $bindir/mysqld_safe then # Give extra arguments to mysqld with the my.cnf file. This script # may be overwritten at next upgrade. # 直接施行mysqld_safe下令,并传入参数,然后新建pid文件 $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null & wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$? # Make lock for RedHat / SuSE if test -w "$lockdir" then touch "$lock_file_path" fi exit $return_value else log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)" fi ;; 'stop')
然后将它复制到/tmp/init.d/名目下:
cp /usr/local/mysql/support-files/mysql.server /tmp/init.d/mysqld
此时,就可以直接调取service来进行启动了:
service mysqld start
碰到的一些题目
上面的理论很简略,但在启动的历程中还是碰到了一些题目,解决题目最简略的办法就是Google+查看日志文件,这两个办法可以非常快的速度定位并解决。
配置文件被忽略
直接看启动时的报错信息:
$ service mysqld start Warning: World-writable config file '/etc/my.cnf' is ignored Starting MySQL.Warning: World-writable config file '/etc/my.cnf' is ignored
直接看报错缘由,提醒的是全局可写的配置文件被忽略。这个差错是指该配置文件可以被所实用户修改,因而有被歹意篡改的可能,因而不会引入这个文件的配置,忽略。
解决方案就是将该文件改为会员和会员组可读写,其他会员只读不成写:
chmod 664 /etc/my.cnf
PID文件没法新建
直接看报错信息:
$ service mysqld start Starting MySQL.The server quit without updating PID file (/usr/var/mysql/var/mysqld.pid).
报错缘由显示,启动MySQL
时不测退出,由于没有更新PID
文件。
这个时候,可能有些人看不太懂,不妨事,我们直接看差错日志:
2019-03-21 22:29:45 32896 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/usr/var/mysql/var/mysqld.pid' (Errcode: 2 - No such file or directory) 2019-03-21 22:29:45 32896 [ERROR] Can't start server: can't create PID file: No such file or directory
这个日志就很分明的写明了没法新建这个mysqld.pid文件,要末是权限题目,要末是途径不存在的题目,背面看发明是途径写错了,更改为准确的途径即可。
差错日志途径的设定:
$ vim my.cnf [mysqld] basedir = /usr/local/mysql datadir = /usr/local/mysql/data pid-file = /usr/var/mysql/var/mysqld.pid log-error = /user/local/mysql/log/mysql.err
log指令被废弃
解决了上面的题目,我们继续施行,仍然发明一样的报错信息,但是日志文件却不一样了:
$ service mysqld start Starting MySQL.The server quit without updating PID file (/usr/var/mysql/var/mysqld.pid). # 日志文件 2019-03-21 22:37:33 0 [ERROR] /usr/local/mysql/bin/mysqld: ambiguous option '--log=/usr/local/mysql/log/mysql.log' (log-bin, log_slave_updates) 2019-03-21 22:37:33 0 [ERROR] Aborting
发明日志报错信息提醒:依稀的选项--log,这个不太明确,Google一下就能看到缘由:--log指令已经被废弃很久了,此刻运用--general-log来取代。修改my.cnf配置文件即可:
$ vim my.cnf [mysqld] general-log = /user/local/mysql/log/mysql.log
启动成功
解决了上面这些题目,终于可以成功启动了,这个时候我们可以利便的对mysqld办事进行启停以及reload了:
$ service mysqld start Starting MySQL. [ OK ]
总结
Service办事治理工具,可以帮忙我们迅速的启停利用程序。在Mysql启动的历程中,把握日志文件的查看和Google的搜寻,对我们来说是最大的助力。
本篇文章到这里就已经全部完毕了,更多其他出色内容可以关注百分百源码网的MySQL教程视频栏目!
以上就是service下令治理mysql启动和休止的办法介绍的细致内容,更多请关注 百分百源码网 其它相干文章!