MySQL--mysqld、mysql_safe、mysql.server、mysqladmin几种启动和停止服务使用说明
您好,我是贾斯汀,欢迎进来学习的小伙伴~
【学习背景】
本文对Linux下启动和停止mysql服务最常用的几种方式进行讲解:
(1)mysqld
(2)mysqld_safe
(3)mysql.server
(4)mysqladmin
关于这几种文件和命令对mysql服务的启动和停止的使用,本文会分别进行介绍,还有一些关键的事项,比如生产环境对于MySQL服务的启动和停止是非常谨慎的一件事,不是每一种方式都适合生产使用的,需要搞清楚再使用,这里分享出来,希望对有需要的小伙伴有帮助~
进入正文之前,这里先说明一下,实际的生产环境安全的启动一般都使用mysqld_safe
来启动mysql服务,使用mysqladmin
安全停止mysql服务,具体进入正文进行说明~
建议除了Linux终端用户root
,还应建一个普通用户mysql
安装和运维数据库~
进入正文~
学习目录
- 一、mysqld
- 1.1 命令介绍
- 1.2 命令使用
- 1.2.1 启动
- 1.2.1 停止
- 二、mysqld_safe
- 2.1 命令介绍
- 2.2 命令使用
- 2.2.1 启动
- 2.2.2 停止
- 三、mysql.server
- 3.1 命令介绍
- 3.2 命令使用
- 3.2.1 修改脚本
- 3.2.2 开机自启动
- 3.2.3 启动服务
- 3.2.1 停止服务
- 附录
一、mysqld
1.1 命令介绍
(1)mysqld是mysql的守护进程,直接使用这种方式启动,会加载MySQL配置(如:/etc/my.cnf)中的[mysqld]和[server]组下的参数内容~
(2)一般通过手动调用mysqld来启动mysql服务,这种方式只有一个mysqld进程,没有守护进程,如果mysql服务挂了,没有检查重启的机制,生产环境不会使用这种方式启动mysql服务~
1.2 命令使用
1.2.1 启动
进入到mysql的bin目录下执行:
cd /opt/mysql/mysql-5.7.29/bin
mysqld --defaults-file=/data/mysqldata/my.cnf --user=mysql &
或者通过配置软链接后再执行:
ln -s /opt/mysql/mysql-5.7.29/bin/mysqld /usr/bin/mysqld
mysqld --defaults-file=/data/mysqldata/my.cnf --user=mysql &
如果连接不成功,请查看错误日志看具体启动mysql服务的报错原因~
查看配置my.cnf错误日志路径,示例:
[mysqld]
log-error=/data/mysqllog/client-error.log
查看mysql记录错误日志:
tail -f /data/mysqllog/client-error.log
如果前面mysqld启动mysql服务失败,client-error.log
会打印出具体报错原因~
例如,我把配置my.cnf
安全路径配置secure_file_priv
前面加个p,会报错如下:
1.2.1 停止
停止的方式也有好几种,开发环境方便调试可以按实际需要使用,确保生产环境使用mysqladmin
就行~
(1)直接杀掉进程号
ps -ef|grep mysqld
kill -9 进程号
(2)mysqladmin命令停止(建议)
执行命令:
/opt/mysql/mysql-5.7.29/bin/mysqladmin -uroot -p -S /data/mysqldata/mysql.sock shutdown
成功提示:
注意:命令中的root用户是mysql.user表中的数据库用户,mysql.sock路径,通过查看配置my.cnf获取,示例:
[mysqld]
socket=/data/mysqldata/mysql.sock
二、mysqld_safe
2.1 命令介绍
(1)打开mysqld_safe,可以看到其实是一个Shell脚本,这种方式启动除了会加载MySQL配置(如:/etc/my.cnf)中的[mysqld]和[server]组下的参数内容之外,为了兼容老版本,还会加载[safe_mysqld]组下的内容~
(2)执行脚本mysqld_safe时,脚本中会去调用mysqld启动mysqld和monitor mysqld两个进程,monitor即监视的意思,这样如果mysql服务挂了,那么mysqld_safe会重新启动mysqld进程~
通过mysqld_safe
启动mysql服务这种方式是生产运维建议使用的启动方式~
2.2 命令使用
2.2.1 启动
进入到mysql的bin目录下执行:
cd /opt/mysql/mysql-5.7.29/bin
/opt/mysql/mysql-5.7.29/bin/mysqld_safe --defaults-file=/data/mysqldata/my.cnf --user=mysql >/data/mysqllog/mysqld_safe.log 2>&1 &
启动成功:
可以发现mysqld_safe方式启动,确实会有两个进程~
当我kill -9 mysqld进程
(模拟mysql服务挂掉),发现监视进程会自动给我重新启动好mysqld的进程,不影响mysql服务正常运行~
2.2.2 停止
(1)直接杀掉进程号
ps -ef|grep mysqld
kill -9 进程号
这种方式慎用!!!
(2)mysqladmin命令停止(建议)
执行命令:
/opt/mysql/mysql-5.7.29/bin/mysqladmin -uroot -p -S /data/mysqldata/mysql.sock shutdown
成功提示:
注意:命令中的root用户是mysql.user表中的数据库用户,mysql.sock路径,通过查看配置my.cnf获取,示例:
[mysqld]
socket=/data/mysqldata/mysql.sock
三、mysql.server
3.1 命令介绍
(1)脚本mysql.server是mysql安装目录support-files下的一个文件,也是一个启动Shell脚本,脚本中会去调用mysqld_safe脚本
(2)主要通过拷贝mysql.server脚本刀片/etc/init.d/目录下,并命名为mysql,实现便捷启动和停止~
(3)启动service mysql start
、停止service mysql start
,非常适合开发环境的运维~
3.2 命令使用
3.2.1 修改脚本
修改脚本mysql.server中的相关目录信息(按实际修改):
安装目录: basedir=/data/mysql/mysql-5.7.29
数据目录: datadir=/data/mysqldata/3306
socket目录: lockdir='/data/mysqldata'
这里修改mysql.server
中的my.cnf
有一个小问题,默认是/etc/my.cnf
,我修改路径成我自己的/data/mysqldata/my.cnf
,后面也复制mysql.server
到/etc/init.d/
目录并重命名为mysql
了了,但是一直不生效,不知道为啥,有知道的小伙伴可以留言,这里先留个TODO
,先使用默认的/etc/my.cnf
吧,需要把我的配置内容拷贝到/etc/my.cnf
里面~
TODO补充:
修改support-files/mysql.server
中默认my.cnf
自定义配置路径不生效问题~
#这里才是mysql.server调用mysqld_safe启动MySQL服务的入口#原来这里默认mysqld_safe执行只是指定了datadir数据目录#$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &#重写mysqld_safe指定为my.cnf具体路径,my.cnf中已经配置好数据目录,不再需要指定参数$bindir/mysqld_safe --defaults-file=/data/mysqldata/my.cnf $other_args >/dev/null &
详情如下图说明:
将脚本mysql.server拷贝到/etc/init.d/初始化服务目录下,并命名~
cp /opt/mysql/mysql-5.7.29/support-files/mysql.server /etc/init.d/mysql
cp /opt/mysql/mysql-5.7.29/support-files/mysql.server /etc/init.d/mysqld
3.2.2 开机自启动
不需要设置开机自启动,可忽略此步~
添加自启动命令:
chkconfig --add mysql
chkconfig --add mysqld
删除自启动命令:
chkconfig --del mysql
chkconfig --del mysqld
查看自启动列表命令:
chkconfig --list
PS:如上图,2/3/4/5都是on开的话则成功,默认级别是2/3/4/5~
3.2.3 启动服务
命令: service mysql start
启动成功,提示如下:
3.2.1 停止服务
(1)直接杀掉进程号
ps -ef|grep mysqld
kill -9 进程号
这种方式慎用!!!
(2)service命令停止
service mysql stop
(2)mysqladmin命令停止(建议)
执行命令:
/opt/mysql/mysql-5.7.29/bin/mysqladmin -uroot -p -S /data/mysqldata/mysql.sock shutdown
成功提示:
注意:命令中的root用户是mysql.user表中的数据库用户,mysql.sock路径,通过查看配置my.cnf获取,示例:
[mysqld]
socket=/data/mysqldata/mysql.sock
其他命令: service mysql {start|stop|restart|reload|force-reload|status}
注意:最后再提一下,kill
直接杀掉进程方式慎用!!实际的生产环境建议规范使用mysqld_safe
来启动mysql服务,使用mysqladmin
停止mysql服务~
附录
Windows下启动和停止方式比较简单~
启动MySQL服务命令:net start mysql
关闭MySQL服务命令:net stop mysql
原创不易,觉得有用的小伙伴来个一键三连(点赞+收藏+评论 )+关注
支持一下,非常感谢~
MySQL--mysqld、mysql_safe、mysql.server、mysqladmin几种启动和停止服务使用说明相关推荐
- 停止计算机sql服务,SQL Server启动和停止服务的三种方法
一.为什么要启动SQL Server服务? 1.如果你不开启服务,去连接数据会出现报错信息 2.因为不连接到服务器,就对数据库操作不了 二.启动SQL Server的三种方法 第一种:后台启动服务 * ...
- mysql 数据库重启命令_Mysql数据库常用的启动,停止以及重启操作命令
Mysql数据库常用的启动,停止以及重启操作命令 1.启动: (1)使用 service 启动:service mysqld start (2)使用 mysqld 脚本启动:/etc/inint.d/ ...
- MySQL无法启动或停止服务-发生系统错误5
问题 命令开启或停止MySQL服务时,一直提示 发生系统错误5 拒绝访问 还原步骤 1.W+R打开cmd窗口,并切换到MySQL的安装的bin目录下 默认路径:C:\Program Files (x8 ...
- mysql集群 MySQL Cluster
<?php /* 郑重说明2015年6月11日16:28:14,目前为止MySQL Cluster 社区版不支持INNODB,商业版支持,但是授权价格20W左右,so看此文档之前,考虑下钱 My ...
- Linux 启动/重启/停止 MySQL 数据库的命令
文章目录 一.启动 MySQL 数据库的命令 (一)使用命令 service 启动 (二)使用命令 systemctl 启动 二.停止 MySQL 数据库的命令 (一)使用命令 service 停止 ...
- MySQL服务的启动和停止
MySQL服务的启动和停止 Windows10:Ctrl+Shift+Esc -> 查看服务->点击,启动和停止服务 通过命令行CMD(管理员权限) # 启动 net stop [mysq ...
- 数据库-Windows启动和停止mysql
Windows图形化界面启动和停止 服务-----mysql服务 cmd命令行启动和停止 启动:net start mysql 停止:net stop mysql 显示数据库中的表:show dat ...
- mysqld,mysqld_safe,mysql.server,mysqladmin,mysql,service mysql的理解
刚接触mysql,很容易被mysqld,mysqld_safe,mysql.server,mysqladmin,mysql,service mysql弄晕 他们是命令.进程.服务.程序.脚本 最近学习 ...
- 【Docker】安装Presto连接Hive、mysql、oracle、postgresql、SQL server等7种类型数据库
目录 1.简介 2.下载安装 1)下载镜像 2)下载presto客户端jar文件 3)将hadoop配置拷贝到容器 4)新增hive.properties配置文件 5)重启容器(在linux命令行下) ...
最新文章
- python3爬虫实例-python3 网络爬虫 实例1
- Silverlight实用窍门系列:54.详解Silverlight中的矩阵变换MatrixTransform,实现其余各种变换【附带实例源码】...
- Openwrt中ppp拨号总结
- windows 10下载链接
- java windows7 环境变量_Windows7环境变量中,系统变量与用户变量的优先级
- Mybatis基于XML配置SQL映射器(一)
- Codeforces 977D: Divide by three, multiply by two(暴力)
- 剑指Offer之不用加减乘除做加法
- CSS遮罩层:hover状态丢失及解决方案
- phpstudy mysql 1067_MySQL_MySQL的1067错误解决,1 
安装MYSQL后更改了ROOT的密码 - phpStudy...
- High-Quality Genome-Scale Models From Error-Prone, Long-Read Assemblies高质量的基因组尺度模型来自易出错的,长时间读取的程序集
- 第七章第二节 弹力学案
- 2021ccpc东北四省D思维线段树
- 【第八期送书活动】+ 购书福利
- 呦呦,这些代码有点臭,重构大法带你秀(SPI接口化),skr~
- python写自动化测试脚本常见报错_Appium自动化测试
- aslkjdkkjas
- 买个云服务器有啥用_买了一台云服务器可以干嘛
- HockeyApp环境搭建
- 近代物理实验 数字图像文件操作及代数运算 含思考题及其答案 和图像运行结果