在 CentOS 6 上安装 MariaDB 10.0在 CentOS 6 上安装 MariaDB 10.0在 CentOS 6 上安装 MariaDB 10.0在 CentOS 6 上安装 MariaDB 10.0
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

在 CentOS 6 上安装 MariaDB 10.0

在此页

  1. 先决条件
  2. 设置 MariaDB 存储库
  3. 第 2 步 – 使用 Yum 安装 MariaDB 10
    1. 删除 MySQL(仅在安装时)
    2. 安装 MariaDB 10

    MariaDB 是 MySQL 的社区开发分支,旨在成为它的增强型替代品。它是 GNU GPL 许可的,由 MySQL 的原始开发人员(如 Monty Widenius)领导。 MariaDB 目前似乎很活跃,但它们的市场份额确实比 MySQL 少得多。由于 MySQL 的巨大发展势头,仍然有很多社区围绕着它,但有一个明显的趋势,即开源世界中的大多数新活动都围绕着 MariaDB,并且现在大多数 Linux 发行版都将 MariaDB 作为 MySQL 兼容数据库。以下教程将指导您完成在 CentOS 6 上安装 MariaDB 10.0 的步骤。CentOS 6 太旧了吗?是的,的确如此,但 CentOS 6 直到 2020 年仍受安全更新支持,并且仍有许多服务器在使用它,但可能需要更新的 MySQL 兼容数据库,例如托管最新的 CMS 系统。

    先决条件

    1. 这些说明旨在用于在单个 CentOS 6 节点(尚未安装 MySQL)上安装 MariaDB 10.0。
    2. 由于默认的 MariaDB 安装使用 /var/lib/mysql 目录来存储您的数据库,请记住与 /var 关联的分区或逻辑卷需要足够的空间。
    3. 配置文件备份(仅替换):同样,如果您要替换当前安装,建议您复制当前的 MySQL/MariaDB 配置文件;这个文件可以在 Debian/Ubuntu 系统上的 /etc/mysql/my.cnf 和 CentOS 系统上的 /etc/my.cnf 找到。在 CentOS 上,MariaDB 包在卸载时会移除配置文件,因此这一步在这些系统上尤为重要。
    4. 本教程的其余部分将假设您使用根用户帐户或具有 sudo 权限的用户帐户连接到您的服务器。要从另一个帐户进入 root shell,请运行:

    sudo su

    第 1 步。设置 MariaDB 存储库

    您应该确保可用的软件包是最新的。为此,只需在终端中运行以下命令:

    yum -y update
    Loaded plugins: fastestmirror
    base | 3.6 kB 00:00
    extras | 3.4 kB 00:00
    updates | 3.4 kB 00:00
    (1/4): base/7/x86_64/group_gz | 155 kB 00:00
    (2/4): extras/7/x86_64/primary_db | 101 kB 00:00
    (3/4): updates/7/x86_64/primary_db | 3.1 MB 00:00
    (4/4): base/7/x86_64/primary_db | 5.3 MB 00:04
    Determining fastest mirrors
    * base: mirror.net.cen.ct.gov
    * extras: mirror.es.its.nyu.edu
    * updates: mirror.atlanticmetro.net
    Resolving Dependencies
    --> Running transaction check
    ---> Package openssl.x86_64 1:1.0.1e-51.el7_2.2 will be updated
    ---> Package openssl.x86_64 1:1.0.1e-51.el7_2.4 will be an update
    ---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.2 will be updated
    ---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.4 will be an update
    --> Finished Dependency Resolution
    Dependencies Resolved
    ================================================================================
    Package Arch Version Repository Size
    ================================================================================
    Updating:
    openssl x86_64 1:1.0.1e-51.el7_2.4 updates 711 k
    openssl-libs x86_64 1:1.0.1e-51.el7_2.4 updates 951 k
    Transaction Summary
    ================================================================================
    Upgrade 2 Packages
    Total download size: 1.6 M
    Downloading packages:
    Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
    (1/2): openssl-1.0.1e-51.el7_2.4.x86_64.rpm | 711 kB 00:00
    (2/2): openssl-libs-1.0.1e-51.el7_2.4.x86_64.rpm | 951 kB 00:00
    --------------------------------------------------------------------------------
    Total 2.3 MB/s | 1.6 MB 00:00
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Updating : 1:openssl-libs-1.0.1e-51.el7_2.4.x86_64 1/4
    Updating : 1:openssl-1.0.1e-51.el7_2.4.x86_64 2/4
    Cleanup : 1:openssl-1.0.1e-51.el7_2.2.x86_64 3/4
    Cleanup : 1:openssl-libs-1.0.1e-51.el7_2.2.x86_64 4/4
    Verifying : 1:openssl-libs-1.0.1e-51.el7_2.4.x86_64 1/4
    Verifying : 1:openssl-1.0.1e-51.el7_2.4.x86_64 2/4
    Verifying : 1:openssl-1.0.1e-51.el7_2.2.x86_64 3/4
    Verifying : 1:openssl-libs-1.0.1e-51.el7_2.2.x86_64 4/4
    Updated:
    openssl.x86_64 1:1.0.1e-51.el7_2.4 openssl-libs.x86_64 1:1.0.1e-51.el7_2.4
    Complete!

    现在,添加 MariaDB CentOS 存储库。

    使用 nano 创建一个新的 MariaDB 存储库文件 /etc/yum.repos.d/mariadb.repo:

    nano /etc/yum.repos.d/MariaDB.repo

    并为 CentOS-6 32 位粘贴以下文本:

    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.0/centos6-x86
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1

    或为 CentOS-6 64 位粘贴此文本:

    name = MariaDB
    baseurl = http://yum.mariadb.org/10.0/centos6-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1

    然后按 Ctrl+X 和 Y 退出并保存文件。

    正如您在上面的示例中看到的,它包含一个 gpgkey 行来自动获取 MariaDB 用来签署存储库的 GPG 密钥。需要此密钥来验证包下载的完整性。

    注意:要查找应与 MariaDB 存储库生成器一起使用的存储库。

    第 2 步 – 使用 Yum 安装 MariaDB 10

    删除 MySQL(仅在安装时)

    我建议完全删除系统上可能安装的所有旧 MySQL 服务器版本,然后在没有冲突的情况下升级到 MariaDB。

    检查MySQL是否已经安装,执行命令:

    rpm -qa 'mysql*'

    如有必要,您可以使用以下命令在安装 MariaDB 之前删除找到的 MySQL 包:

    yum list installed | grep mysql
    yum remove mysql-client mysql-server mysql-common mysql-devel

    并删除 MySQL 数据库:

    rm -Rf /var/lib/mysql

    安装 MariaDB 10

    对于标准服务器安装,您至少需要下载并安装客户端、共享 和服务器 RPM 文件。

    yum install MariaDB-server MariaDB-client -y

    您应该看到如下输出:

    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirror.net.cen.ct.gov
    * extras: mirror.es.its.nyu.edu
    * updates: mirror.atlanticmetro.net
    Resolving Dependencies
    --> Running transaction check
    ---> Package mariadb.x86_64 1:5.5.44-2.el7.centos will be installed
    --> Processing Dependency: perl(Sys::Hostname) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(IPC::Open3) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(Getopt::Long) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(File::Temp) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(Fcntl) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(Exporter) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: /usr/bin/perl for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    ---> Package mariadb-server.x86_64 1:5.5.44-2.el7.centos will be installed
    --> Processing Dependency: perl-DBI for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl-DBD-MySQL for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(File::Path) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(Data::Dumper) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(DBI) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: libaio.so.1(LIBAIO_0.4)(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: libaio.so.1(LIBAIO_0.1)(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: libaio.so.1()(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    [...]
    Installed:
    mariadb.x86_64 1:5.5.44-2.el7.centos mariadb-server.x86_64 1:5.5.44-2.el7.centos
    Dependency Installed:
    libaio.x86_64 0:0.3.109-13.el7 perl.x86_64 4:5.16.3-286.el7
    perl-Carp.noarch 0:1.26-244.el7 perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
    perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBD-MySQL.x86_64 0:4.023-5.el7
    perl-DBI.x86_64 0:1.627-4.el7 perl-Data-Dumper.x86_64 0:2.145-3.el7
    perl-Encode.x86_64 0:2.51-7.el7 perl-Exporter.noarch 0:5.68-3.el7
    perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7
    perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-2.el7
    perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7
    perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PathTools.x86_64 0:3.40-5.el7
    perl-PlRPC.noarch 0:0.2020-14.el7 perl-Pod-Escapes.noarch 1:1.04-286.el7
    perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7
    perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
    perl-Socket.x86_64 0:2.010-3.el7 perl-Storable.x86_64 0:2.45-3.el7
    perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7
    perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7
    perl-libs.x86_64 4:5.16.3-286.el7 perl-macros.x86_64 4:5.16.3-286.el7
    perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7
    perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7
    Complete!

    安装过程完成后,您可以启动 MariaDB。请注意 MariaDB 服务 sis 名为 \mysql\,因此下面的命令不是拼写错误。

    service mysql start
    Starting MySQL. SUCCESS!

    运行此命令以在每次启动时启动 MariaDB。

    chkconfig mysql on

    您可以使用以下命令检查 MariaDB 安装的版本:

    mysql -V
    mysql Ver 15.1 Distrib 10.0.24-MariaDB, for Linux (x86_64) using readline 5.1

    到目前为止,一切都很好!

    第 3 步 – 保护 MariaDB

    默认情况下,MariaDB 未加固。您可以使用 mysql_secure_installation 脚本保护 MariaDB。您应该仔细阅读以下步骤,它们将设置 root 密码、删除匿名用户、禁止远程 root 登录以及删除测试数据库和对安全 MariaDB 的访问。建议所有管理员运行此脚本以确保您的 MySQL 安装是安全的。不幸的是,该脚本是交互式的并提示输入 root 密码,所以它不能轻易地包含在构建过程中。建议您对这些选项回答 yes。您可以在 MariaDB 知识库中阅读有关该脚本的更多信息。

    不带参数调用 mysql_secure_installation:

    mysql_secure_installation

    这将启动一个适用于问答法的过程,您将能够在您的 MariaDB 安装上应用一些自定义。以下是将发生的情况的示例以及您应该使用的一些推荐选项。

    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
    SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

    为了登录 MariaDB 以保护它,我们需要 root 用户的当前密码。如果你刚刚安装了 MariaDB,还没有设置 root 密码,那么默认密码将为空,所以你应该直接按回车键。

    Enter current password for root (enter for none):  
    OK, successfully used password, moving on...

    设置 root 密码可确保未经适当授权,任何人都无法登录 MariaDB root 用户。

    Set root password? [Y/n] y
    New password: ENTER YOUR PASSWORD
    Re-enter new password: REPEAT YOUR PASSWORD
    Password updated successfully!
    Reloading privilege tables..
    ... Success!

    默认情况下,MariaDB 安装有一个匿名用户,允许任何人登录 MariaDB 而无需为他们创建用户帐户。这仅用于测试,并使安装更顺利。在进入生产环境之前,您应该删除匿名登录。

    Remove anonymous users? [Y/n] y
    ... Success!

    通常,只允许 root 从 localhost 连接。这可确保有人无法通过网络猜测 root 密码。

    Disallow root login remotely? [Y/n] y
    ... Success!

    默认情况下,MariaDB 带有一个名为 test 的数据库,任何人都可以访问。这也仅用于测试,应在进入生产环境之前将其删除。

    Remove test database and access to it? [Y/n] y
    - Dropping test database...
    ... Success!
    - Removing privileges on test database...
    ... Success!

    重新加载权限表将确保到目前为止所做的所有更改将立即生效。

    Reload privilege tables now? [Y/n] y
    ... Success!
    Cleaning up...
    All done! If you've completed all of the above steps, your MariaDB installation should now be secure.
    Thanks for using MariaDB!

    现在,您必须重新启动 MariaDB。

    service mysql restart
    Shutting down MySQL.. SUCCESS!
    Starting MySQL. SUCCESS!

    就是这样。登录到 MariaDB 服务器并检查旧数据库和表(如果您是从 MySQL 升级的)。

    要连接到 MariaDB,请运行下面给出的命令。

    mysql -u root -p

    在本例中,我使用 -u 标志指定用户 root,然后使用 -p 标志,以便 MySQL 提示输入密码。

    当询问时,您只需输入您使用 mysql_secure_installation 脚本分配的密码。

    然后,您将看到一个欢迎标题和 MariaDB 提示符。

    如需 MariaDB 命令列表,请在提示符处键入 help 或 \h:

    General information about MariaDB can be found at
    http://mariadb.org
    List of all MySQL commands:
    Note that all text commands must be first on line and end with ';'
    ? (\?) Synonym for `help'.
    clear (\c) Clear the current input statement.
    connect (\r) Reconnect to the server. Optional arguments are db and host.
    delimiter (\d) Set statement delimiter.
    edit (\e) Edit command with $EDITOR.
    ego (\G) Send command to mysql server, display result vertically.
    exit (\q) Exit mysql. Same as quit.
    go (\g) Send command to mysql server.
    help (\h) Display this help.
    nopager (\n) Disable pager, print to stdout.
    notee (\t) Don't write into outfile.
    pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
    print (\p) Print current command.
    prompt (\R) Change your mysql prompt.
    quit (\q) Quit mysql.
    rehash (\#) Rebuild completion hash.
    source (\.) Execute an SQL script file. Takes a file name as an argument.
    status (\s) Get status information from the server.
    system (\!) Execute a system shell command.
    tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
    use (\u) Use another database. Takes database name as argument.
    charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
    warnings (\W) Show warnings after every statement.
    nowarning (\w) Don't show warnings after every statement.
    For server side help, type 'help contents'

    要查看您已创建的当前数据库的列表,请使用以下命令:

    SHOW DATABASES;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | test |
    +--------------------+
    4 rows in set (0.01 sec)

    \information_schema\、\performance_schema\ 和 \mysql\ 数据库是默认设置的,包含 MariaDB 服务器的系统数据,除非您知道自己在做什么,否则应该保留这些表。

    检查数据库服务器的状态:

    status;
    mysql Ver 15.1 Distrib 5.5.44-MariaDB, for Linux (x86_64) using readline 5.1
    Connection id: 14
    Current database:
    Current user:
    SSL: Not in use
    Current pager: stdout
    Using outfile: ''
    Using delimiter: ;
    Server: MariaDB
    Server version: 5.5.44-MariaDB MariaDB Server
    Protocol version: 10
    Connection: Localhost via UNIX socket
    Server characterset: latin1
    Db characterset: latin1
    Client characterset: utf8
    Conn. characterset: utf8
    UNIX socket: /var/lib/mysql/mysql.sock
    Uptime: 47 min 9 sec
    Threads: 1 Questions: 32 Slow queries: 0 Opens: 4 Flush tables: 2 Open tables: 30 Queries per second avg: 0.011
    --------------
    MariaDB [(none)]>

    创建数据库并没有选择它来使用;你必须明确地这样做。要使 howtoforge 成为当前数据库,请使用以下语句:

    USE howtoforge

    您的数据库只需创建一次,但您必须在每次开始 MySQL 会话时选择它以供使用。您可以通过发出示例中所示的 USE 语句来执行此操作。或者,您可以在调用 MySQL 时在命令行上选择数据库。只需在您可能需要提供的任何连接参数之后指定其名称。例如:

    mysql -h host -u user -p howtoforge

    注意:所有数据库名、表名、表字段名均区分大小写。因此,您在给出任何 SQL 命令时都必须使用专有名称。

    默认情况下,所有通过命令行运行的 MySQL 操作都在当前选定的数据库上执行。当前选择了哪个数据库?要找出问题,请发出以下命令:

    SELECT database();

    您的结果可能与此类似:

    +------------+
    | database() |
    +------------+
    | NULL |
    +------------+
    1 row in set (0.00 sec)
    MariaDB [(none)]>

    结果为空,表示当前未选择数据库。

    更多信息请关注

    您可能希望查阅以下资源以获取有关此主题的更多信息。虽然提供这些是希望它们有用,但请注意,我们不能保证外部托管材料的准确性或及时性。

    • MariaDB 文档
    • MySQL 参考手册

©2015-2025 艾丽卡 support@alaica.com