精华内容
下载资源
问答
  • mysqld_safe mysqld区别

    千次阅读 2017-01-25 11:32:06
    直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非...

    直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非BSD风格的UNIX系统中的 mysql.server脚本其实也是调用mysqld_safe脚本去启动MySQL服务器的。它通常做如下事情:
    1. 检查系统和选项。
    2. 检查MyISAM表。
    3. 保持MySQL服务器窗口。
    4. 启动并监视mysqld,如果因错误终止则重启。
    5. 将mysqld的错误消息发送到数据目录中的host_name.err 文件。
    6. 将mysqld_safe的屏幕输出发送到数据目录中的host_name.safe文件。

    转自:http://yunwei.blog.51cto.com/381136/421031

    文章2:

    mysqld_safe
      在Unix和NetWare中推荐使用mysqld_safe来启动mysqld服务器。mysqld_safe增加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息。本节后面列出了NetWare的特定行为。
      注释:为了保持同旧版本MySQL的向后兼容性,MySQL二进制分发版仍然包括safe_mysqld作为mysqld_safe的符号链接。但是,你不应再依赖它,因为再将来将删掉它。
      默认情况下,mysqld_safe尝试启动可执行mysqld-max(如果存在),否则启动mysqld。该行为的含义是:
      · 在Linux中,MySQL-Max RPM依赖该mysqld_safe的行为。RPM安装可执行mysqld-max,使mysqld_safe从该点起自动使用可执行命令。
      · 如果你安装包括mysqld-max服务器的MySQL-Max分发版,后面升级到非-Max的MySQL版本,mysqld_safe仍然试图运行旧的 mysqld-max服务器。升级时,你应手动删除旧的mysqld-max服务器以确保mysqld_safe运行新的mysqld服务器。
      要想越过默认行为并显式指定你想要运行哪个服务器,为mysqld_safe指定--mysqld或--mysqld-version选项。
      mysqld_safe从选项文件的[mysqld]、[server]和 [mysqld_safe]部分读取所有选项。为了保证向后兼容性,它还读取 [safe_mysqld]部分,尽管在MySQL 5.1安装中你应将这部分重新命名为[mysqld_safe]。
      mysqld_safe支持下面的选项:
      · --help
      显示帮助消息并退出。
      · --autoclose
      (只在NetWare中)在NetWare中,mysqld_safe可以保持窗口。当你关掉mysqld_safe NLM时,窗口不按默认设置消失。相反,它提示用户输入:
      **如果你想让NetWare自动关闭窗口,在mysqld_safe中使用--autoclose选项。
      · --basedir=path
      MySQL安装目录的路径。
      · --core-file-size=size
      mysqld能够创建的内核文件的大小。选项值传递给ulimit -c。
      · --datadir=path
      数据目录的路径。
      · --defaults-extra-file=path
      除了通用选项文件所读取的选项文件名。如果给出,必须首选该选项。
      · --defaults-file=path
      读取的代替通用选项文件的选项文件名。如果给出,必须首选该选项。
      · --ledir=path
      包含mysqld程序的目录的路径。使用该选项来显式表示服务器位置。
      · --log-error=path
      将错误日志写入给定的文件。参见5.11.1节,“错误日志”。
      · --mysqld=prog_name
      想要启动的服务器程序名(在ledir目录)。如果你使用MySQL二进制分发版但有二进制分发版之外的数据目录需要该选项。
      · --mysqld-version =suffix
      该选项类似--mysqld选项,但你只指定服务器程序名的后缀。基本名假定为mysqld。例如,如果你使用--mysqld-version =max,mysqld_safe启动ledir目录中的mysqld-max程序。如果--mysqld-version的参数为空,mysqld_safe使用目录中的mysqld。
      · --nice=priority
      使用nice程序根据给定值来设置服务器的调度优先级。
      · --no-defaults
      不要读任何选项文件。如果给出,必须首选该选项。
      · --open-files-limit=count
      mysqld能够打开的文件的数量。选项值传递给 ulimit -n。请注意你需要用root启动mysqld_safe来保证正确工作!
      · --pid-file=path
      进程ID文件的路径。
      · --port=port_num
      用来帧听TCP/IP连接的端口号。端口号必须为1024或更大值,除非MySQL以root系统用户运行。
      · --skip-character-set-client-handshake
      忽略客户端发送的字符集信息,使用服务器的默认字符集。(选择该选项,MySQL的动作与MySQL 4.0相同)。
      · --socket=path
      用于本地连接的Unix套接字文件。
      · --timezone=zone
      为给定的选项值设置TZ时区环境变量。从操作系统文档查阅合法的时区规定格式。
      · --user={user_name | user_id}
      以用户名user_name或数字用户ID user_id运行mysqld服务器。(本文中的“用户”指系统登录账户,而不是 授权表中的MySQL用户)。
      执行mysqld_safe时,必须先给出--defaults-file或--defaults-extra-option,或不使用选项文件。例如,该命令将不使用选项文件:
      mysqld_safe --port=port_num --defaults-file=file_name相反,使用下面的命令:
      mysqld_safe --defaults-file=file_name --port=port_num一般情况mysqld_safe脚本可以启动从源码或二进制MySQL分发版安装的服务器,即使这些分发版将服务器安装到稍微不同的位置。(参见2.1.5节,“安装布局”)。 mysqld_safe期望下面的其中一个条件是真的:
      · 可以根据调用mysqld_safe的目录找到服务器和数据库。在二进制分发版中,mysqld_safe看上去在bin和data目录的工作目录下。对于源码分发版,为libexec和var目录。如果你从MySQL安装目录执行mysqld_safe应满足该条件(例如,二进制分发版为/usr /local/mysql)。
      · 如果不能根据工作目录找到服务器和数据库,mysqld_safe试图通过绝对路径对它们定位。典型位置为/usr/local/libexec和 /usr/local/var。实际位置由构建分发版时配置的值确定如果MySQL安装到配置时指定的位置,它们应该是正确的。
      因为mysqld_safe试图通过工作目录找到服务器和数据库,只要你从MySQL安装目录运行mysqld_safe,可以将MySQL二进制分发版安装到其它位置:
      shell> cd mysql_installation_directoryshell> bin/mysqld_safe &如果mysqld_safe失败,即使从MySQL安装目录调用仍然失败,你可以指定--ledir和--datadir选项来指示服务器和数据库在你的系统中的安装目录。
      一般情况,你不应编辑mysqld_safe脚本。相反,应使用命令行选项或my.cnf选项文件的[mysqld_safe]部分的选项来配置mysqld_safe。一般不需要编辑mysqld_safe来正确启动服务器。但是,如果你编辑,将来升级MySQL后会覆盖你修改的mysqld_safe版本,因此你应对你修改的版本进行备份以便将来重装。
      在NetWare中,mysqld_safe是一个NetWare Loadable Module (NLM),从原Unix shell脚本移植。它执行:
      1. 检查系统和选项。
      2. 检查MyISAM表。
      3. 保持MySQL服务器窗口。
      4. 启动并监视mysqld,如果因错误终止则重启。
      5. 将mysqld的错误消息发送到数据目录中的host_name.err 文件。
      6. 将mysqld_safe的屏幕输出发送到数据目录中的host_name.safe文件


    本文来自CSDN博客http://blog.csdn.net/rj03hou/archive/2010/01/06/5143434.aspx

    展开全文
  • 在 Unix 机器上,MySQL 官方推荐使用 mysqld_safe 启动 mysqld 服务。mysqld_safe 增加了一些安全特性,比如它会在遇到错误时重启 mysqld 服务,并把运行时信息记录到 error log 中。

    一、mysqld_safe 介绍

    mysqld_safe is the recommended way to start a mysqld server on Unix. mysqld_safe adds some safety features such as restarting the server when an error occurs and logging runtime information to an error log. 1

    在 Unix 机器上,MySQL 官方推荐使用 mysqld_safe 启动 mysqld 服务。mysqld_safe 增加了一些安全特性,比如它会在遇到错误时重启 mysqld 服务,并把运行时信息记录到 error log 中。

    二、使用 mysql_safe 启动

    下述是以 CentOS 为例,使用 mysqls_safe 启动 mysqld 服务的命令。

    mysqld_safe --defaults-file=my.cnf > mysqld.log 2>&1 &
    

    其中 --defaults-file=my.cnf 指定了默认的配置文件为当前目录下的 my.cnf,我在里面指定了端口为 3306。> mysqld_log 指定了将标准输出重定向到 msyqld.log2>&1 表示将标准错误输出重定向到标准输出,末尾的 & 表示后台运行。因此,执行上述命令,我们使用 mysqld_safemy.cnf 中的配置启动了一个 mysqld 进程,它始终在后台运行,所有的输出(包括错误输出)都将汇集到 mysqld.log 文件中。

    按下回车执行命令后,终端将返回这个任务的编号和进程号,如果后续想要再次查看,可以通过 jobs -l 命令来查看当前 Shell 环境中所有的任务。

    [root@centos conf]# mysqld_safe --defaults-file=my.cnf > mysqld.log 2>&1 &
    [1] 37225
    [root@centos conf]# jobs -l
    [1]+ 37225 Running                 mysqld_safe --defaults-file=my.cnf > mysqld.log 2>&1 &
    
    

    其中 [1] 代表任务号,+ 代表这是最近一个任务,37225 代表进程号 PID,剩下的代表启动任务的命令。

    至此,mysqld 服务启动成功。我们可以执行下述命令来尝试连接它。

    [mysql@centos ~]$ mysql -h127.0.0.1 -P3306 -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    

    如上,显示 Welcome 则代表连接成功。

    三、终止 mysqld

    执行下述命令查看 mysqld 的 PID:

    netstat -antp | grep mysqld
    

    找到绑定地址为:::3306 的进程号,执行下述命令以杀死 mysqld 进程:

    kill $PID # $PID 须用找到的进程号替换
    

    1. mysqld_safe — MySQL Server Startup Script ↩︎

    展开全文
  • Mysql问题:systemctl start mysqld时报错 报错信息: Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for ...

    Mysql问题解决:systemctl start mysqld报错

    报错信息:

    Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.

    在这里插入图片描述

    定位错误:

    vim /var/log/mysqld.log		#查看日志信息
    

    看到最后一行(shift+G)

    在这里插入图片描述

    原因分析:

    MySQL 数据存放位置改为 数据盘地址,重启机器,然后磁盘挂载没有设置为开机自动挂载,导致PID 文件找不到。

    解决方法:

    1.在/etc/my.cnf 中查看pid-file的位置

    vim /etc/my.cnf
    

    在这里插入图片描述

    2. 创建对应的目录并修改权限

    mkdir -p /var/run/mysqld
    chown mysql.mysql /var/run/mysqld
    

    这时可以尝试重启MySQL了,可以启动就ok,如果还不行继续第三步。

    3. 创建一个pid文件并修改权限

    touch /var/run/mysql/mysqld.pid
    chown mysql.mysql /var/run/mysql/mysqld.pid
    

    再启动MySQL应该就没问题了!

    这只是一个临时解决的办法,如果虚拟机重新开机就需要再次操作,暂时还没有找到解决根本问题的方案,大家就暂时挂起虚拟机,后续找到解决方法会在文章中更新!

    展开全文
  • 解决办法  vi /etc/my.cnf  把  [mysqld_safe]  err-log=/var/log/mysqld.log  pid-file=/var/lib/run/mysql/mysqld.pid  改成  [mysqld_safe]  err-lo
    
    

    解决办法 
    vi /etc/my.cnf 
    把 
    [mysqld_safe] 
    err-log=/var/log/mysqld.log 
    pid-file=/var/lib/run/mysql/mysqld.pid 
    改成 
    [mysqld_safe] 
    err-log=/var/log/mysqld.log 
    pid-file=/var/lib/mysql/mysqld.pid
    展开全文
  • MySQL mysqld mysqld_safe mysql.server mysqld_multi 启动区别
  • Failed to start mysqld.service: Unit not found

    万次阅读 多人点赞 2019-08-12 10:26:35
    输入命令 systemctl start ...Failed to start mysqld.service: Unit not found 解决方法如下: 首先需要安装mariadb-server yum install -y mariadb-server 启动服务 systemctl start mariadb.servic...
  • mysqld: mysqld: cannot execute binary file

    千次阅读 2018-06-20 15:54:29
    执行sh mysqld --user=mysql时报错,mysqld: mysqld: cannot execute binary file。 Solution mysqld: mysqld: cannot execute binary file说的很明白了。不能执行二进制文件。 ### error localhost:bin Sean...
  • 原因: 配置了错误日志,比如: vi /etc/my.cnf 时加上log-error=error.log 解决办法: ...3、重新 进入 mysql/bin 执行 【./mysqld --initialize --console】 如果没有删掉 /usr/local/mysql/d...
  • centos mysql无法启动问题的解决(mysqld_safe A mysqld process already exists) ...
  • Job for mysqld.service failed because the control process exited with error 解决 按照提示输入命令 systemctl status mysqld.service 或者 journalctl -xn 但是显示的 信息并不能提供服务启动失败的真正原因...
  • 解决办法 使用如下命令操作mysql: systemctl restart mysqld.service systemctl start mysqld.service systemctl stop mysqld.service
  • centos7 上mysql安装完成后,不能用service mysqld start启动,同时也不能用service mysqld stop 停止 解决办法 find / -name mysql.server 发现在以下路径 /usr/share/mysql/mysql.server 所以 /usr/share/...
  • mysql与mysqld

    千次阅读 2019-08-11 21:45:14
    mysql是客户端行工具,连接mysqld服务,执行sql命令,可认为客户端sdk mysqld 启动mysql数据库服务。 脚本启动mysql服务的命令是 net start mysql,这是怎么回事? 这里的mysql是一个服务名称,执行services....
  • linux启动mysql报错:service mysqld start Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service&...
  • [root@dev1 mysql]# bin/mysqld_safe --user=mysql & [1] 15325 [root@dev1 mysql]# 091217 22:22:53 mysqld_safe Logging to '/var/lib/mysql/dev1.sccl.cn.err'. 091217 22:22:53 mysqld_safe Starti
  • Linux命令--mysqld_safe和mysqld区别

    千次阅读 2019-09-15 20:38:50
    直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非...
  • mysqld_safe兼顾监视mysqld,而且liunx下mysqld的启动实际上是启动的mysqld_safe mysql
  • mysqld_multi启动mysqld_multi report报错

    千次阅读 2018-03-19 18:35:45
    Reporting MySQL servers No groups to be reported (check your GNRs) >mysqld_multi --example ##查看multi配置文件格式 ...mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /us...
  • mysqldmysqld_safe的区别

    千次阅读 2013-12-25 22:44:11
    直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非...
  • 报错过程: mysql需要重启,执行一下命令启动mysql: systemctl start mysqld....Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service...
  • my.conf文件片段如下: [mysqld1] socket = /tmp/mysql.sock1 port = 3307 ...pid-file = /var/run/mysqld/mysqld.pid1 datadir = /var/lib/mysql1 user = mysql log=/data/log/mysql/mysql1.
  • mysqld_safe A mysqld process already exists。 而且 mysql.server stop 能终止两次。虽然不影响使用,但是有强迫症的我差点又装了一遍系统。还好悬崖勒马。。。废话不多说! 下面给解决办法! 我的办法是干净...
  • mysqld_safe  在Unix和NetWare中推荐使用mysqld_safe来启动mysqld服务器。mysqld_safe增加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息。本节后面列出了NetWare的特定行为。  ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 300,232
精华内容 120,092
关键字:

mysqld

mysql 订阅