linux下启动或者关闭MySQL数据库的多种方式

 更新时间:2024年06月11日 11:46:47   作者:奈斯DBA  
,在Linux服务器上管理MySQL服务是一个基本的运维任务,下面这篇文章主要给大家介绍了关于linux下启动或者关闭MySQL数据库的多种方式,文中通过代码以及图文介绍的非常详细,需要的朋友可以参考下

前言

今天我非常荣幸能够站在这里,与大家分享一个非常重要的话题:如何启动和关闭MySQL数据库的多种方式。MySQL作为一款广泛使用的开源关系数据库管理系统,已经成为了许多企业和个人在存储和管理数据时的首选工具。然而,正确地启动和关闭MySQL对于确保系统的稳定运行、数据的完整性和安全性至关重要。

启动和关闭MySQL看似简单,但实际上涉及到许多细节和注意事项。不同的操作系统、配置和环境可能需要采用不同的方法来启动和关闭MySQL服务。因此,了解并掌握多种方法对于数据库管理员和开发者来说是至关重要的。

在这篇文章中,我们将深入探讨多种启动和关闭MySQL的方法,并解释每种方法的适用场景和注意事项。通过这些方法的学习和实践,我们不仅能够更好地管理和维护数据库,还能够提高工作效率和减少潜在的风险。

1、mysql启动的几种方式

mysql不同与oracle变量定义在配置文件bash_profile中。mysql只能通过ps -ef | grep mysql确定参数文件的位置,没有确定参数文件的参数。所以记录ps -ef | grep mysql信息尤为重要。

数据库启动时会先读取参数文件my.cnf(因为mysql启动时默认找参数文件的顺序/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf(通过mysql --help | grep my.cnf命令查看),以此来确定一些初始化参数。如果有/etc/my.cnf但没有内容,数据库可以起到并且参数值取决于mysql指定的默认值。

mysql启动会用到两个程序和一个函数,函数my_print_defaults;程序mysqld_safe、parse_server_arguments。

my_print_defaults读取my.cnf参数文件,输出参数传递给parse_server_arguments。parse_server_arguments改函数处理my_print_defaults传递过来的参数赋值给--basedir、--datadir、--pid-file、--server-startup-timeout。

方式一:mysqld_safe命令(在多实例环境中,指定对应实例参数文件就可以启动某个实例)

mysqld_safe是一个shell脚本,默认去调用mysqld服务器程序,进行服务器的监听。

如果mysqld进程宕了,mysqld_safe会自动启动mysqld,数据库启动;如果mysqld_safe宕了,mysqld还存活,数据库就没问题;如果mysqld_safe和mysqld都宕了,数据库也就宕机。

mysqld_safe --help选项:

参数选项描述
--defaults-file=FILE指定参数文件
[root@mysql2 bin]# nohup mysqld_safe --defaults-file=/mysql/data/3306/my.cnf &   
---mysqld_safe带动mysqld数据库后台进程

方式二:mysqld命令(在多实例环境中,指定对应实例参数文件就可以启动某个实例)

mysqld --verbose --help选项:

参数选项描述
--defaults-file=#指定参数文件
-u, --user=name指定操作系统的用户名,指定为mysql用户。
[root@mysql2 bin]# nohup mysqld --defaults-file=/mysql/data/3306/my.cnf --user=mysql &
---mysqld数据库后台进程,只是显示了指定的参数,为了方便管理使用mysqld_safe或者指定多个参数

方式三:写入linux服务启动(service)

通过将mysql.server脚本添加到系统服务器中使用service mysqld start,mysqld为自定义命名的,所以以命名的为准。

编辑mysql.server脚本,并将mysql.server脚本添加到linux服务

[root@mysql2 bin]# cd /mysql/app/mysql/support-files  

[root@mysql2 bin]# cp mysql.server mysql.server.bk

[root@mysql2 bin]# vi mysql.server   ---作用就是为了方便启动和关闭mysql服务,这个脚本中调用mysqld_safe来启动mysqld。以下是mysql.server需要修改的内容

修改一:目录和数据存储目录

修改二:相关目录和数据存储目录 

修改三:mysqld_safe为启动mysql的命令,在后面加上--defaults-file指定指定的参数文件。因为mysql启动时默认找参数文件的顺序/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf(通过mysql --help | grep my.cnf命令查看)

[root@mysql2 bin]# cp  /mysql/app/mysql/support-files/mysql.server  /etc/init.d/mysqld    ---将启动脚本放到系统服务管理中并命名为mysqld
[root@mysql2 bin]# chmod 755  /etc/init.d/mysqld
[root@mysql2 bin]# chkconfig --add mysqld       ---将mysqld加入到服务中
[root@mysql2 bin]# service  mysqld  start
[root@mysql2 bin]# chkconfig  mysqld  on         ---开机启动mysqld服务
[root@mysql2 bin]# service mysqld status

service mysqld status查询服务的PID,并且通过ps -ef | grep mysql查看MySQL数据库的PID是否一致

2、mysql关闭的几种方式

mysql不同与oracle变量定义在配置文件bash_profile中。mysql只能通过ps -ef | grep mysql确定参数文件的位置,没有确定参数文件的参数。所以记录ps -ef | grep mysql信息尤为重要。

方式一:mysqladmin命令(在多实例环境中,指定对应实例socket文件就可以关闭某个实例)

mysqladmin --help选项:

参数选项描述
-u, --user=name用于登录的用户名(如果不是当前用户)
-S, --socket=name指定用于连接的套接字文件的名称(socket套接字就是ip+端口,包括本地ip:port, 远程ip:port)。如果系统上有多个实例,通过连接socket可以连接相应的实例,socket可以用户连接到那个实例
-p, --password[=name]连接到服务器时使用的密码
[root@mysql2 bin]# mysqladmin -uroot -p shutdown -S /mysql/data/3306/mysql.sock

方式二:shutdown命令(8.0版本新增。8.0只新增关闭和重启命令,没有启动的命令)

此语句将停止MySQL服务器。它需要SHUTDOWN特权。

    SHUTDOWN控件提供具有相同功能的sql级接口。mysqladmin停工命令或mysql_shutdown()C API函数成功SHUTDOWN序列包括检查特权、验证参数和向客户端发送OK数据包。然后服务器就关闭了。

[root@mysql2 bin]# mysql -uroot -p123456
mysql> shutdown;
[root@mysql2 bin]# tail -100f itpuxdb-error.err      ---查看错误日志,观察关闭信息

方式三:写入linux服务关闭(service)

    通过将mysql.server脚本添加到系统服务器中,添加过程参考查看上面的方式三:写入linux服务启动,使用service mysqld stop,mysqld为自定义命名的,所以以命名的为准。

3、mysql重启方式(8.0版本新增)

mysql8.0和5.7一样只能通过ps -ef | grep mysql确定参数文件的位置,没有确定参数文件的参数。所以记录ps -ef | grep mysql信息尤为重要。

方式一:restart命令

Mysql在8.0版本中引入restart命令,实现远程重启mysqld进程的功能。能够在不登录操做系统的状况下,执行重启操做,对于运管上来讲也是一个很棒的功能。mysql执行restart命令须要数据库帐号具有SHUTDOWN权限,而且mysqld必须通过mysqld_safe守护进程下启动的才能执行restart命令。

restart命令的原理是mysqld_safe检测mysqld退出时的返回值,若是16,则进行重启。bash shell以下。

[root@mysql2 bin]# mysql -uroot -p123456
mysql> restart;      
[root@mysql2 bin]# tail -100f itpuxdb-error.err      ---查看错误日志,观察重启信息

注意:只有通过mysqld_safe启动mysqld这个进程才能使用restart命令进行重启;如果只有mysqld进程,没有通过mysqld_safe带动,则不能使用restart命令,报ERROR 3707 (HY000): Restart server failed (mysqld is not managed by supervisor process).

总结 

到此这篇关于linux下启动或者关闭MySQL数据库的多种方式的文章就介绍到这了,更多相关linux启动或关闭MySQL数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL数据库聚合函数与分组查询举例详解

    MySQL数据库聚合函数与分组查询举例详解

    在MySQL中聚合函数和分组查询经常一起使用,下面这篇文章主要给大家介绍了关于MySQL数据库聚合函数与分组查询的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Mysql sql慢查询监控脚本代码实例

    Mysql sql慢查询监控脚本代码实例

    这篇文章主要介绍了Mysql sql慢查询监控脚本代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 在大数据情况下MySQL的一种简单分页优化方法

    在大数据情况下MySQL的一种简单分页优化方法

    这篇文章主要介绍了在大数据情况下MySQL的一种简单分页优化方法,分页优化是MySQL优化的常用手段之一,需要的朋友可以参考下
    2015-05-05
  • 详解MySQL数据类型DECIMAL(N,M)中N和M分别表示的含义

    详解MySQL数据类型DECIMAL(N,M)中N和M分别表示的含义

    关于MySQL数据类型decimal中n和m分别表示什么含义?本文就此问题作了简单论述,并创建相关表进行验证,需要的朋友可以了解下。
    2017-10-10
  • PHP访问MySQL查询超时处理的方法

    PHP访问MySQL查询超时处理的方法

    PHP连接MySQL主要是使用Mysql提供的 libmysqlclient 的客户端库,同时也延伸出来 mysql 和 mysqli 两套PHP的扩展,相对来说 mysqli 比 mysql 更好,更稳定。
    2011-05-05
  • mysql 8.0 Windows zip包版本安装详细过程

    mysql 8.0 Windows zip包版本安装详细过程

    这篇文章主要为大家详细介绍了mysql 8.0 Windows zip包版本安装详细过程,以及密码认证插件修改,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • mysql如何分组统计并求出百分比

    mysql如何分组统计并求出百分比

    这篇文章主要介绍了mysql如何分组统计并求出百分比,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • win10 64位 MySQL8.0下载和安装教程图解

    win10 64位 MySQL8.0下载和安装教程图解

    这篇文章主要介绍了MySQL下载和安装 win10 64位 MySQL8.0的教程图解,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • MySQL和Oracle批量插入SQL的通用写法示例

    MySQL和Oracle批量插入SQL的通用写法示例

    当我们要往数据库中批量保存多条数据得时候,分不同数据库,有不同得插入方式,这篇文章主要给大家介绍了关于MySQL和Oracle批量插入SQL的通用写法的相关资料,需要的朋友可以参考下
    2021-11-11
  • CentOS 7中源码安装MySQL 5.7.6+详细教程

    CentOS 7中源码安装MySQL 5.7.6+详细教程

    最近在CentOS 7中源码安装MySQL 5.7.6+,发现MySQL5.7.6+以后的安装方式真的与以前版本的MySQL安装方式大大的不同呀。不自己安装一把,你都不知道不同之处在哪,下面这篇文章是通过自己的安装过程总结的一篇安装教程,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12

最新评论