关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » MySQL »MySQL在ArchLinux上的安装与启动

    MySQL在ArchLinux上的安装与启动

    2015-08-21 00:00:00 出处:ITJS
    分享

    在ArchLinux上我们可以很容易的来安装MySQL。我们可以通过下面的命令来安装:

    pacman -Sv mysql

    只是这样的一个简单命令,我们就可以在我们的系统安装上最新的MySQL数据库了。当然我们还要做一些下面的工作,才可以使得我们的MySQL服务器可以启动起来。

    首先大家要添加mysql用户与组,我们可以通过下面的命令来做到:

    groupadd mysql (添加mysql组)

    useradd -g mysql mysql(添加mysql用户)

    然后我们可以用下面的命令来安装MySQL数据库预定义的一些数据表:

    mysql_install_db --user=mysql

    这时如果我们来启动MySQL服务器会有一些提示信息,我们还要做下面的一些事情:

    mkdir /var/lib/mysql

    touch /var/lib/mysql/myhost.err

    经过这样的操作以后,我们就可以启动MySQL服务器了:

    mysqld_safe &

    MySQL服务器启动脚本

    mysqld_safe--MySQL服务器启动脚本

    mysqld_safe是在Unix或是NetWare系统推荐使用来启动MySQL服务器的方法。Mysqld_safe添加了许多安全的特征,例如,当发生错误时重新启动服务器,并且可以将运行时的信息写入错误日志文件。

    在这里大家要注意的是,为了与旧版本的MySQL保持向后兼容,MySQL的二进制发行版本同时也包含safe_mysqld作为指向mysqld_safe的链接。然而我们并不应依赖于这个启动程序,因为这在将来的版本中会被移除。

    在默认的情况下,如果在存在一个可执行的mysqld-max,mysqld_safe

    1 在Linux系统上,MySQL-Max RPM依赖于mysqld_safe的行为。RPM安装一个名为mysqld-max的可执行程序,这会使得mysqld_safe从此以后自动调用这个可执行程序。

    2 如果你安装了一个包含名为mysqld-max服务器的二进制发行版本,然后在以后的某一个时期我们更新到了一个没有Max版本的MySQL, mysqld_safe仍然会试着运行旧的mysqld-max的服务器。如果我们执行了这样的更新,我们应手式移除旧的mysqld-max服务器,并 且保证mysqld_safe运行新的的mysqld服务器。

    要覆盖默认的行为并且显示的指明大家要运行的服务器,我们可以为我们的mysqld_safe指定一个-mysqld或是-mysqld-version选项。

    mysqld_safe的大多数选项与mysqld的相同。

    mysqld命令行选项

    在命令行为mysqld_safe指定的所有选项都传递给mysqld。如果大家要使用任何一个为mysqld_safe指定的并且mysqld不支持的,不要在命令行指定他们。相反的,我们可以在一个可选的文件[mysqld_safe]组中列出。

    mysqld_safe从选项文件中的[mysqld],[server],[mysqld_safe]部分读出各个选项。为了向后兼容,他还会读出[safe_mysqld]部分,虽然大家要在MySQL5.0的安装中将这一部分重命名为[mysqld_safe].

    mysqld_safe支持下列的选项:

    --help

    显示帮助信息并退出。

    --autoclose

    在NetWare系统上,mysqld_safe提供一个屏幕显示.当我们御载(关闭)mysqld_safe NLM,在默认的情况下这个屏幕并不会消失.相反,他们提示用户进行输入:

    **

    如果我们希望NetWare自动关闭这个屏幕,我们可以为mysqld_safe提供--autoclose选项

    --basedir=path

    指定MySQL的安装目录

    --core-file-size=size

    mysqld可以创建的core文件的大小。这个选项的值将会传递给ulimit -c.

    --datadir=path

    数据目录的路径。

    --defaults-extra-file=path

    在常规选项文件之外要读取的额外的选项文件名。如果要指定,这个选项必须是第一个。

    --defaults-file=path

    替换常规选项文件要读取的选项文件。如果要指定,这个选项必须是第一个。

    --ledir=path

    包含mysqld程序的目录路径。使用这个选项来显示指明服务器的位置。

    --log-error=path

    将错误日志写入指定的文件。

    --mysqld=prog_name

    大家要启动的服务器程序的名字。如果我们使用MySQL的二进制发行版本,但是使用却是二进制版本以外的数据目录,那么这个选项是必须的。

    --mysqld-version=suffix

    这 个选项与--mysqld程序相似,但是我们只是为服务器程序指定了前缀。基础名会被假定为mysqld。例如,如果我们使用-mysqld- version=max,mysqld_safe将会启动ledir目录中的mysqld-max程序。如果--mysqld-version的参数为 空,mysqld_safe会使用ledir目录中的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

    忽略客户端发送的字符设置信息,而使用默认的服务器字符设置.

    --socket=path

    为本地连接所用的Unix套接字文件.

    --timezone=zone

    将TZ时区环境变量设置为指定的值.查看我们的操作系统文件可以得到合法时区的详细格式.

    --user={user_name | user_id}

    以用户名user_name或是数字用户ID user_id的用户来运行mysqld服务器.

    当运行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这样进行编写就可以保证正常的启动由源码包或是二进制发行版本�沧暗腗ySQL中的服务器,甚至是这些二进制发行版本将其安装在不同的位置也可以正常的启动。Mysqld_safe要求下列条件中的一个为真:

    1 在相对于mysqld_safe的目录的相对目录中可以找到服务器和数据库。对于二进制发行版本,mysqld_safe在他的工作目录下查找bin和 data目录。对于源码包安装的MySQL,他会查找libexec和var目录。如果我们从我们的MySQL安装目录执行mysqld_safe,这些 条件必须满足。

    2 如果服务器和数据并没有在MySQL的工作目录的相对目录中找到,mysqld_safe就会试着以绝对路径来进行查找。典型的路径是 /usr/local/libexec和/usr/local/var。实际的路径将会决定于二进制发行版本在构建时所配置的值。如果MySQL安装在配 置时指定的路径内,这些必须正确。

    因为mysqld_safe会试着在相对于他的工作目录的目录中查找服务器与数据库,所以我们可以将MySQL安装在任何地方,只要我们在MySQL的安装目录中执行mysqld_safe即可:

    shell> cd mysql_installation_directory

    shell> bin/mysqld_safe &

    如果mysqld_safe失败,即使是在MySQL的安装目录中进行调用,我们也可以指定--ledir和--datadir选项来表明服务器与数据库在我们的系统中所在的目录。

    在 通常情况下我们不应修改mysqld_safe脚本,我们可以使用命令或是在my.cnf选项文件中的[mysqld_safe]部分进行修改。只有在极 少的情况下也许必须修改mysqld_safe脚本来使得他正常启动。然而,如果我们这样做,如果我们在将来进行升级,我们所修改的版本就会被覆盖掉,所 以大家要备份一个我们的修改版本,从而我们可以进行重装。

    MySQL服务器的关闭过程

    MySQL服务器的关闭过程可以总结为以下几点:

    1 初始化关闭过程

    2 如果必须服务器创建一个关闭进程

    3 服务器停止接受新的连接

    4 服务器结束当前的活动

    5 存储引擎结束或是关闭

    6 服务器结束

    更为详细的描述如下:

    1 初始化关闭过程

    可 以用几种方法来初始服务器关闭。例如,一个有着SHUTDOWN权限的用户可以执行mysqladmin shutdown命令。Mysqladmin可以在MySQL支持的任何平台上运行。其他与操作系统相关的实始化方法也是可以的:在Unix系统上,当服 务器接收到一个SIGTERM信号时服务器就会结束。在Windows系统上以服务运行的服务器可以在任务管理器中结束。

    2 如果必须服务器会创建一个结束进程

    依 据如何初始化结束,服务器也许会创建一个进程来处理结束过程。如果结束是由客户端请求,就会创建一个结束进程。如果结束是由接收到SIGTERM信号引起 的,信号进程将会处理结束过程,或者他会创建一个单独的进程来处理。如果服务器试着创建一个结束进程但是却创建失败时,他会显示如下的错误信息:

    Error: Can't create thread to kill server

    3 服务器停止接受新的连接

    为了避免在结束过程中新的活动,服务器停止新收新的连接。这样做的方法是结束平时监听的网络连接:TCP/IP端口,Unix套接字文件,Windows命令管道,Windows上的共享主存.

    4 服务器结束当前的活动

    为每一个与客户端相关的进程,到客户端的每一个连接断开并且每一个进程被标识为死亡.当进程发现他们被进行了这样的标识时就会死掉.空连接的进程会很快死掉.当前正在进行查询的进程会检查他们的状态并且过后死掉.

    对于有一个开放事务的进程,事务会滚回.在这里大家要注意的是如果一个进程在更新一个非事务表,例如多行更新或是插入的操作,将会使得表部分更新,因为这样的操作会在完成之前结束.

    如果这个服务器是一个主复制服务器,与当前连接的从服务器的进程也会被当作其他的客户端进程对待.也就是说,每一个进程都会被标识为死亡,当下一次检查状态时退出.

    如果这个服务器是一个从复制服务器,I/O与SQL进程,如果是活动,将会在客户端进程被标识为死亡之前被停止.SQL进程会允许结束当前的语句然后退出.如果SQL进程此时正在进行事务处理,事务将会滚回.

    5 存储引擎结束或是关闭

    在这一步,数据表缓存将会被刷新,而所有打开的表都会被关闭.

    每一个存储引擎都会为他所管理的数据表进行必要的操作.例如,MyISAM会刷新一个表的索引.

    6 服务器结束.事务会滚回.在这里大家要注意的是如果一个进程在更新一个非事务表,例如多行更新或是插入的操作,将会使得表部分更新,因为这样的操作会在完成之前结束.

    如果这个服务器是一个主复制服务器,与当前连接的从服务器的进程也会被当作其他的客户端进程对待.也就是说,每一个进程都会被标识为死亡,当下一次检查状态时退出.

    如果这个服务器是一个从复制服务器,I/O与SQL进程,如果是活动,将会在客户端进程被标识为死亡之前被停止.SQL进程会允许结束当前的语句然后退出.如果SQL进程此时正在进行事务处理,事务将会滚回.

    5 存储引擎结束或是关闭

    在这一步,数据表缓存将会被刷新,而所有打开的表都会被关闭.

    每一个存储引擎都会为他所管理的数据表进行必要的操作.例如,MyISAM会刷新一个表的索引.

    6 服务器结束.

    (责任编辑:铭铭 mingming_ky@126.com TEL:(010)68476636)

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    如何从 Windows 11 中完全删除/卸载 OneNote?无解!

    抖音安全与信任开放日:揭秘推荐算法,告别单一标签依赖

    ultraedit编辑器打开文件时,总是提示是否转换为DOS格式,如何关闭?

    IT头条

    华为Pura80系列新机预热,余承东力赞其复杂光线下的视频拍摄实力

    01:28

    阿里千问3开源首战告捷:全球下载破千万,国产AI模型崛起新高度!

    01:22

    DeepSeek R1小版本试升级:网友实测编程能力已达到国际一线水平

    23:15

    NVIDIA 与 Dell 合作,大规模交付 Blackwell AI 系统

    20:52

    Cerebras 以最快的 Llama 4 Maverick 性能引领 LLM 推理竞赛

    20:51

    技术热点

    PHP中的随机性——你觉得自己幸运吗?

    搞定Ubuntu Linux下WPA无线上网

    Java使用内存映射实现大文件的上传

    MySQL安全性指南

    MySQL两项性能的基本测试浅谈

    教您使用UniqueIdentifier选取SQL Server主键

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。