CentOS 7上安装MySQL


随着CentOS 7 MySQL的发布,CentOS的存储库中不再提供世界上最流行的开源关系数据库管理系统,MariaDB已成为默认的数据库系统。MariaDB是MySQL的向后兼容二进制替换版本。
本文将向如何在CentOS 7计算机上安装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

安装MySQL 8.0软件包

sudo yum install mysql-community-server
在安装过程中,yum可能会提示您导入MySQL GPG密钥。输入y并回车。

在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,操作都一样的:

启动MySQL

安装完成后,启动MySQL服务并启用以下命令使其在启动时自动启动:

sudo systemctl enable mysqld
sudo systemctl start mysqld

我们可以通过输入以下内容来检查MySQL服务状态:sudo systemctl status mysqld
在这里插入图片描述

MySQL密码

首次启动MySQL服务器时,MySQL根用户会生成一个临时密码。您可以通过运行以下命令找到密码:sudo grep 'temporary password' /var/log/mysqld.log
输出应如下所示:
在这里插入图片描述
记下密码,因为下一条命令将要求您输入临时的root密码。
运行mysql_secure_installation命令以提高我们的MySQL安装的安全性:sudo mysql_secure_installation
在这里插入图片描述
输入临时密码后,将要求您为root用户设置新密码。密码长度至少为8个字符,并且至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符。

该脚本还将要求您删除匿名用户,限制root用户对本地计算机的访问并删除测试数据库。您应该对所有问题回答都是“是”(Y)。
在这里插入图片描述
设置root密码?[是/否] 是
删除匿名用户?[是/否] 是
禁止远程root登录?[是/否] 是
删除测试数据库并访问它?[是/否] 是
现在重新加载特权表?[是/否] 是

如果你觉得设置的密码太过于复杂,想设置简单一些的,或者之后的MySQL业务用户不想设置太过于麻烦的密码,也可以先使用临时密码登录MySQL之后,通过下面的命令把密码复杂的设置简单:

set global validate_password_policy=0;
set global validate_password_length=0;

MySQL密码设置规范,具体是与validate_password_policy的值有关(0-2),值越小密码越简单,同时MySQL的密码长度是由validate_password_length决定的(0-8),所以在设置这两个值自己可以酌情设置。
在这里插入图片描述

设置完密码等级之后必须先修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

这样子,密码就修改完成了。

从命令行连接到MySQL

为了通过终端与MySQL交互,我们将使用MySQL客户端,该客户端作为MySQL服务器软件包的依赖项安装。

要以root用户身份登录到MySQL服务器,请输入:mysql -u root -p

系统将提示您输入mysql_secure_installation运行脚本时自己设置的root密码。

输入密码后,将显示mysql shell,如下所示:
在这里插入图片描述

卸载自动更新

因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[linkai@localhost ~]# sudo yum -y remove mysql57-community-release-el7-11.noarch

创建一个数据库

连接到MySQL Shell后,可以通过键入以下命令来创建新数据库:CREATE DATABASE lk_shop;

建立表格

现在我们已经创建了数据库,我们可以创建一个表来存储一些数据。
在运行用于创建表的SQL语句之前,我们需要连接到数据库:use lk_shop;
在此示例中,我们将创建一个简单的表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)

结论

本文展示了如何在CentOS 7服务器上安装和保护MySQL服务器,如何连接到MySQL Shell以及如何创建新的数据库和表。
但是当你需要用自己的电脑远程登录数据库,会出现下面出错信息:
ERROR 2003 (HY000): Can’t connect to MySQL server on ‘xxx.xxx.xxx.xxx’,
原因是没有授予相应的权限。
点我,查看如何创建MySQL用户帐户和授予权限
记得要把所有的权限设置为所有IP可以使用或者你使用的IP可以使用。
授予权限之后可能是防火墙端口没有打开:
添加mysql端口3306:sudo firewall-cmd --zone=public --permanent --add-port=3306/tcp
然后再重新载入:sudo firewall-cmd --reload
在这里插入图片描述
最后,密码是你新创建的用户的密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值