在CentOS 7上安装MySQL
随着CentOS 7 MySQL的发布,CentOS的存储库中不再提供世界上最受欢迎的开源关系数据库管理系统,MariaDB已成为默认的数据库系统。
MariaDB是MySQL的向后兼容二进制二进制替换版本。
在本教程中,我们将向我们展示如何在CentOS 7计算机上安装MySQL。
如果要安装MariaDB而不是MySQL,请查看我们的教程以获取安装说明。
准备工作
在开始本教程之前,请确保我们使用具有sudo特权的用户帐户或者root用户登录到服务器。
最好的做法是以sudo用户(而不是root)运行管理命令,如果系统上没有sudo用户,则可以按照以下说明创建一个。
正如我们在引言中提到的那样,默认CentOS 7存储库中不提供MySQL,因此我们将安装MySQL Yum存储库中的软件包。
在以下各节中,我们将向我们展示如何安装MySQL 8.0和MySQL 5.7.
我们应该在CentOS 7服务器上仅安装一个MySQL版本。
如果不确定要安装哪个版本,请参阅要在服务器上部署的应用程序的文档。
在CentOS 7上安装MySQL 8.0
在撰写本文时,MySQL的最新版本是8.0版。
要将其安装在CentOS 7服务器上,请执行以下步骤:
- 使用以下命令启用MySQL 8.0存储库:
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
- 使用yum安装MySQL 8.0软件包:
sudo yum install mysql-community-server
在安装过程中,yum可能会提示我们导入MySQL GPG密钥。输入“ y”并点击“ Enter”。
在CentOS 7上安装MySQL 5.7
要在CentOS 7服务器上安装MySQL的先前稳定版本MySQL,版本5.7,请执行以下步骤:
- 使用以下命令启用MySQL 5.7存储库:
sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
- 使用以下命令安装MySQL 5.7软件包:使用yum将MySQL和其他软件包一起安装:
sudo yum install mysql-community-server
以下各节与MySQL 8.0和MySQL 5.7相关。
启动MySQL
安装完成后,启动MySQL服务,并使其能够通过以下方式自动启动:
sudo systemctl enable mysqldsudo systemctl start mysqld
我们可以通过输入以下内容来检查MySQL服务状态:
sudo systemctl status mysqld
● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2016-05-23 11:02:43 UTC; 14min ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 4293 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 4310 (mysqld) Status: "SERVER_OPERATING" CGroup: /system.slice/mysqld.service └─4310 /usr/sbin/mysqld
保护MySQL
首次启动MySQL服务器时,将为MySQL根用户生成一个临时密码。
我们可以通过运行以下命令来找到密码:
sudo grep 'temporary password' /var/log/mysqld.log
输出应如下所示:
2016-05-23T10:59:51.251159Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q&0)V!?fjksL
记下该密码,因为下一条命令将要求我们输入临时的root密码。
运行“ mysql_secure_installation”命令以提高我们的MySQL安装的安全性:
sudo mysql_secure_installation
Securing the MySQL server deployment. Enter password for user root:
输入临时密码后,将要求我们为root用户设置新密码。
密码长度至少为8个字符,并且至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符。
The existing password for the user account root has expired. Please set a new password. New password: Re-enter new password:
该脚本还将要求我们删除匿名用户,限制root用户对本地计算机的访问并删除测试数据库。
我们应该对所有问题回答“是”(是)。
从命令行连接到MySQL
为了通过终端与MySQL进行交互,我们将使用MySQL客户端,该客户端作为MySQL服务器软件包的依赖项安装。
要以root用户身份登录到MySQL服务器,请输入:
mysql -u root -p
运行“ mysql_secure_installation”脚本时,系统将提示我们输入先前设置的根密码。
输入密码后,将显示mysql shell,如下所示:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 8.0.11 MySQL Community Server - GPL Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names Jan be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
创建一个数据库
连接到MySQL Shell后,可以通过键入以下命令来创建新数据库:
CREATE DATABASE new_database;
Query OK, 1 row affected (0.00 sec)
建立表格
现在我们已经创建了数据库,我们可以创建一个表来存储一些数据。
在运行用于创建表的SQL语句之前,我们需要连接到数据库:
use new_database;
在此示例中,我们将创建一个名为“ contacts”的简单表,其中包含三个字段“ id”,“ name”和“ email”:
CREATE TABLE contacts ( id INT PRIMARY KEY, name VARCHAR(30), email VARCHAR(30) );
Query OK, 1 row affected (0.00 sec)