当前位置:首页 > MySQL教程 > 正文内容

service敕令治理mysql启动和住手的要领引见【MySQL教程】,日志,pid,mysql,linux运维,service

搜教程4年前 (2019-12-01)MySQL教程186
本篇文章给人人带来的内容是关于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 <service>
## mysqld 举例
$ service mysqld
Usage: mysqld  {start|stop|restart|reload|force-reload|status}  [ MySQL server options ]

# 启动、住手、重启指定效劳
service <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 <service> 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的搜刮,对我们来说是最大的助力。

本篇文章到这里就已悉数完毕了,更多其他精彩内容能够关注ki4网的MySQL教程视频栏目!

以上就是service敕令治理mysql启动和住手的要领引见的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/15833.html

分享给朋友:

“service敕令治理mysql启动和住手的要领引见【MySQL教程】,日志,pid,mysql,linux运维,service” 的相关文章

SQL中的有哪几种数据类型【MySQL教程】,类型,数据,几种

SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型 扼要形貌一下SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型 字符型 VARCHAR 和 CHAR VARCHAR型和CHAR型数据的这个差异是纤细的,然则非常重要。他们都是用来贮存字符串长度小于255的字符。...

GreenPlum中一样平常SQL剧本【MySQL教程】,GreenPlum,脚本,日常

--1.指定月份统共若干天 SELECT EXTRACT(DAY FROM CAST('2017-08-01' AS DATE) + INTERVAL '1 month' - INTERVAL '1 day') SELECT EXTRACT(DAY FROM CAST(TO_CHAR(N...

Centos7怎样应用yum装置Mysql5.7.19的具体方法【MySQL教程】,Mysql5.7.19,Centos7,安装

Centos7怎样应用yum装置Mysql5.7.19的具体方法【MySQL教程】,Mysql5.7.19,Centos7,安装

本篇文章重要引见了Centos7运用yum装置Mysql5.7.19的细致步骤,小编以为挺不错的,如今分享给人人,也给人人做个参考。一同追随小编过来看看吧 Centos7的yum源中默许是没有mysql,由于如今已用mariaDB替代mysql了。 起首我们下载mysql的repo源,我们能...

MySQL中关于日期函数汇总【MySQL教程】,MySQL,汇总,函数

MySQL中关于日期函数汇总【MySQL教程】,MySQL,汇总,函数

关于MySQL日期时刻函数,每回总能发明一些新特征,干脆做一次一致的整顿,补充下笔记库。能够会有所脱漏,迎接补充。 本文整顿了30个时刻日期函数,分为4个段落剖析,详见下文。 1 猎取时刻函数 猎取当前时刻 sysdate() now() , curre...

mysql5.1 command line client 登录时涌现闪退怎样处理【MySQL教程】,mysql5.1,command,client

由于长时间没有运用mysql command line client。今天在运用时,翻开界面,输入暗码后就涌现了闪退,同时workbench平台也显现不能衔接数据库。起首我照着百度试了一下,觉察在“计算机“-->"治理"(右键)-->“效劳”下,没有找到mysql有关的效劳。 处理办法以...

怎样竖立可打印中文的数据库【MySQL教程】,数据库,中文,打印

平常的数据库的字符型数据的编码都是 latinl,这是不支撑中文的 而支撑中文的字符编码是utf-8和gbk 要想让数据库里的表能够显现中文就必须在竖立数据库的时刻指定字符编码 1 create database bb charset=utf8; 或许 1 1 create d...