如何在CentOS 7上安装MySQL

如何在CentOS 7上安装MySQL

更新 由Linode

在GitHub上贡献

查看项目 | 查看文件 | 编辑文件

在CentOS 7上安装MySQL

MySQL是一个流行的数据库管理系统,用于Web和服务器应用程序。但是,MySQL不再位于CentOS的存储库,MariaDB已经成为默认的数据库系统。MariaDB被认为是MySQL的直接替代品,如果你只需要一个数据库系统就足够了。请参阅我们在CentOS 7指南中的MariaDB以获取安装说明。

如果您更喜欢MySQL,本指南将介绍如何在运行CentOS 7的Linode上进行安装,配置和管理。

大型MySQL数据库可能需要大量的内存。出于这个原因,我们建议使用高内存Linode进行这样的设置。

注意
本指南是为非root用户编写的。需要提升特权的命令前缀为 sudo 。如果您不熟悉该 sudo 命令,可以查看我们的 用户和组 指南。

在你开始之前

  1. 确保您已经按照入门保护您的服务器指南操作,并设置了Linode的主机名

    要检查你的主机名运行:

    hostname
    hostname -f
    

    第一个命令应显示您的简短主机名,第二个命令应显示您的完全限定的域名(FQDN)。

  2. 更新您的系统:

    sudo yum update
    
  3. 您将需要wget完成本指南。它可以安装如下:

    yum install wget
    

安装MySQL

MySQL必须从社区存储库安装。

  1. 下载并添加存储库,然后更新。

    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
    yum update
    
  2. 照常安装MySQL并启动服务。在安装过程中,系统会询问您是否要接受.rpm文件的GPG验证结果。如果没有错误或不匹配,请输入y

    sudo yum install mysql-server
    sudo systemctl start mysqld
    

MySQL将默认绑定到本地主机(127.0.0.1)。请参考我们的MySQL远程访问指南,了解如何使用SSH连接到您的数据库。

注意
允许在公共IP上不受限制地访问MySQL,但可以通过修改 bind-address 参数来更改它监听的地址 /etc/my.cnf 。如果您决定将MySQL绑定到您的公共IP地址,则应该实施仅允许来自特定IP地址的连接的防火墙规则。

加强MySQL服务器

  1. 运行mysql_secure_installation脚本来解决默认MySQL安装中的一些安全问题。

    sudo mysql_secure_installation
    

您将可以选择更改MySQL根密码,删除匿名用户帐户,在本地主机外禁用root登录,并删除测试数据库。建议您回答yes这些选项。您可以阅读MySQL参考手册中有关脚本的更多信息。

使用MySQL

与MySQL交互的标准工具是mysqlmysql-server包一起安装的客户端。MySQL客户端通过终端使用。

根登录

  1. 以root用户身份登录到MySQL:

    mysql -u root -p
    
  2. 出现提示时,输入在运行mysql_secure_installation脚本时分配的根密码。

    然后您将看到一个欢迎标题和MySQL提示符,如下所示:

    mysql>
    
  3. 要为MySQL提示符生成命令列表,请输入\h。你会看到:

    List of all MySQL commands:
    Note that all text commands must be first on line and end with ';'
    ?         (\?) Synonym for `help'.
    clear     (\c) Clear command.
    connect   (\r) Reconnect to the server. Optional arguments are db and host.
    delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new 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'
    
    mysql>
    

创建一个新的MySQL用户和数据库

  1. 在下面的例子中,testdb是数据库的名称,testuser是用户,password是用户的密码。

    create database testdb;
    create user 'testuser'@'localhost' identified by 'password';
    grant all on testdb.* to 'testuser' identified by 'password';
    

    您可以通过分配数据库权限的同时创建用户来缩短此过程:

    create database testdb;
    grant all on testdb.* to 'testuser' identified by 'password';
    
  2. 然后退出MySQL。

    exit
    

创建一个示例表

  1. 作为重新登录testuser

    mysql -u testuser -p
    
  2. 创建一个名为customers的示例表。这将创建一个表格,其中包含一个类型为INT的客户ID字段(用于新记录的自动递增,用作主键)以及用于存储客户名称的两个字段。

    use testdb;
    create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
    
  3. 然后退出MySQL。

    exit
    

重置MySQL根密码

如果你忘记你的root密码,可以重置。

  1. 停止当前的MySQL服务器实例,然后用一个选项重新启动它,不要求输入密码。

    sudo systemctl stop mysqld
    sudo mysqld_safe --skip-grant-tables &
    
  2. 用MySQL根帐户重新连接到MySQL服务器。

    mysql -u root
    
  3. 使用以下命令重置root的密码。用password强密码替换。

    use mysql;
    update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
    flush privileges;
    exit
    
  4. 然后重新启动MySQL。

    sudo systemctl start mysqld
    

调整MySQL

MySQL Tuner是一个Perl脚本,连接到正在运行的MySQL实例,并根据工作负载提供配置建议。理想情况下,在运行调谐器之前,MySQL实例至少应运行24小时。实例运行的时间越长,MySQL调谐器就会给出更好的建议。

  1. 下载MySQL调谐器到您的主目录。

    wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
    
  2. 运行它:

    perl ./mysqltuner.pl
    

    您将被要求提供MySQL root用户的名字和密码。输出将显示两个感兴趣的领域:一般建议和变量进行调整。

MySQL Tuner是优化MySQL服务器的一个很好的起点,但是对Linode上使用MySQL的应用程序进行额外的配置研究是非常谨慎的。

更多信息

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

也可以看看

window.disqus_title = 'How to Install MySQL on CentOS 7' window.disqus_identifier = 'https:\/\/linode.com\/docs\/databases\/mysql\/how-to-install-mysql-on-centos-7\/' window.disqus_url = 'https:\/\/linode.com\/docs\/databases\/mysql\/how-to-install-mysql-on-centos-7\/' window.disqus_shortname = 'linode-1' (function () {(document).on('lazybeforeunveil', function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; var disqus_shortname = 'linode-1'; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); }); Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a> 评论由Disqus提供

本指南在CC BY-ND 4.0许可下发布。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在CentOS 7上安装MySQL的步骤如下: 1. 打开终端并以root用户身份登录。 2. 运行以下命令以更新系统软件包: ``` yum update ``` 3. 安装MySQL服务器: ``` yum install mysql-server ``` 4. 启动MySQL服务: ``` systemctl start mysqld ``` 5. 设置MySQL服务在系统启动时自动启动: ``` systemctl enable mysqld ``` 6. 运行以下命令以保护MySQL安装: ``` mysql_secure_installation ``` 按照提示输入root密码并回答其他问题。 7. 安装完成后,您可以使用以下命令检查MySQL是否正在运行: ``` systemctl status mysqld ``` 如果MySQL正在运行,您将看到“active (running)”字样。 现在,您已经成功在CentOS 7上安装MySQL。 ### 回答2: 在CentOS 7上安装Mysql需要以下步骤: 1. 从Mysql官网下载Mysql的Yum Repository文件 yum install wget wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 2. 安装下载的Mysql Yum Repository包 yum localinstall mysql57-community-release-el7-8.noarch.rpm 3. 安装Mysql yum install mysql-community-server 4. 启用Mysql服务 systemctl start mysqld 5. 设置Mysql自启动 systemctl enable mysqld 6. 查看Mysql服务状态 systemctl status mysqld 7. 修改Mysql默认密码 Mysql默认安装后需要修改默认密码才能使用。查看初始密码: grep 'temporary password' /var/log/mysqld.log 使用初始密码登录Mysqlmysql -u root -p 输入初始密码,会提示你修改密码,修改密码后退出Mysql。 8. 防火墙配置 如果开启了防火墙,需要开放Mysql服务的端口。 firewall-cmd --zone=public --add-port=3306/tcp --permanent 9. 重启防火墙 firewall-cmd --reload 以上就是在CentOS 7上安装Mysql的步骤,注意要根据自己的需求进行配置。 ### 回答3: 在CentOS7上安装MySQL非常简单,可以按照以下步骤进行操作: 1. 更新系统 在执行任何操作之前,我们需要确保系统是最新的,以便在安装MySQL时避免冲突和错误。下面的命令会更新您的系统: sudo yum update 2. 添加MySQL Yum存储库 CentOS默认的存储库中没有MySQL。因此,我们需要将MySQL Yum存储库添加到我们的系统中。我们可以使用以下命令: wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm 3. 安装MySQL yum会发现和添加MySQL存储库中的所有现有安装程序,包括MySQL客户端,服务器以及其他相关的软件包。要安装最新版本的MySQL,我们可以运行以下命令: sudo yum install mysql-server 4. 启动MySQL 一旦MySQL服务器安装完成,系统将自动启动mysql服务。如果未自动启动服务,您可以手动启动它: sudo systemctl start mysqld 5. 设置MySQL的自动启动 系统的下一个启动,MySQL将不会自动启动。我们需要将MySQL添加到系统服务列表中,以便在每次启动时自动启动MySQL: sudo systemctl enable mysqld 6. 配置MySQL MySQL安装后需要进行配置。系统将为您生成用于MySQL的root用户的默认密码。您可以使用以下命令找到默认root密码: grep 'temporary password' /var/log/mysqld.log 接下来,输入以下命令并按照指示更改root密码,以便您以后能够使用: mysql_secure_installation 7. 测试MySQL 在完成MySQL安装和配置后,我们可以使用以下命令来测试MySQLmysql -u root -p 如果MySQL正确安装和配置,则会提示您输入root用户的密码。在这里我们输入root密码,然后按Enter键。如果成功,则您将进入MySQL shell。 总之,安装MySQL是非常简单的,只需遵循上述步骤即可在CentOS7中顺利完成MySQL安装
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值