当前位置:  数据库>mysql

mysql安全启动脚本mysqld_safe详细介绍

    来源: 互联网  发布时间:2014-10-16

    本文导语:  在Unix和NetWare中推荐使用mysqld_safe来启动mysqld服务器。mysqld_safe增加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息。本节后面列出了NetWare的特定行为。   注释:为了保持同旧版本MySQL的向...

在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文件


    
 
 

您可能感兴趣的文章:

  • mysql基础:mysqld_safe 启动执行流程详解
  • 紧急求救!!!!如何在shell脚本中,执行对mysql的操作
  • 如何后台运行mysql脚本?谢谢
  • 哪位有shell写的mysql备份脚本阿,想借鉴看下,谢谢
  • mysql下怎样运行脚本以运行niuzi.sql为例
  • 把mysql查询结果保存到文件的shell脚本
  • 使用Linux的Shell脚本定时处理MySQL超时
  • MySQL 脚本开发工具 MyQuery
  • Linux自动备份MySQL数据库脚本代码
  • 用sh脚本备份mysql的文件打不开
  • 利用Shell脚本实现远程MySQL自动查询
  • centos中mysql备份数据库脚本分享
  • shell脚本监控mysql主从状态
  • 用shell脚本在mysql表中批量插入数据的方法
  • 想写个shell脚本调用mysql的存储过程,怎么改都执行不了。。。
  • Python Mysql自动备份脚本
  • shell脚本中设置mysql记录分隔符为回车
  • PHP处理SQL脚本文件导入到MySQL的代码实例
  • 实现MySQL定时批量检查表repair和优化表optimize table的shell脚本
  • mysql自动化安装脚本(ubuntu and centos64)
  • linux下如何用C脚本连接访问MYSQL
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)
  • mysql启动错误之mysql启动报1067错误解决方法
  • mysql服务无法启动报错误1067解决方法(mysql启动错误1067 )
  • MySQL 重装MySQL后, mysql服务无法启动
  • 为什么用linux安装盘安装了mysql后,启动mysql,提示找不到mysql.sock文件?
  • Mysql 本地计算机无法启动 mysql 服务 错误 1067:进程意外终止。
  • ubuntu mysql配置错误导致无法启动mysql,希望达人前来帮助。
  • MySQL降权运行之MySQL以Guests帐户启动设置方法
  • linux下mysql的启动
  • 系统安装的时候选了mysql,但是在setup里面找不到mysql的服务,进程还是有的,但是启动不了。
  • 免安转MySQL服务的启动与停止方法
  • 关于MySQL的启动问题?在线等待
  • 菜鸟问题:如何启动PHP和MYSQL?
  • 我怎么启动mysql
  • 如何启动mysql?
  • freebsd系统mysql无法启动求解
  • 出学者问题:我安装了MySql,但我不知道安装到何处去了,又该如何启动服务?
  • 在DEBIAN上手动安装MYSQL服务无法启动,请问是什么原因
  • linux下启动mysql出错
  • mysql 安装完之后服务启动失败
  • 我在redhat 9.0 上装了 MySQL 3.23.44, 我该如何启动它呢?
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 在 linux下输入"mysql"命令,进入mysql命令行,但出现“Can't connetc to local MySQL server thuough socket /var/lib/mysql/mysql.sock
  • Mysql查询错误:ERROR:no query specified原因
  • 請教,在redhat linux7.2+mysql 中,系統提示mysql已啟動,網頁卻不能訪問mysql?
  • php安装完成后如何添加mysql扩展
  • 求解释: useradd -g mysql mysql -d /home/mysql -s /sbin/nologin
  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • 在Linux内安装了Mysql,无法进入Mysql.
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 怎样在linux终端输入mysql直接进入mysql?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3