CentOS 7 下安装 MySQL 5.7

从 CentOS 7 系统开始,MariaDB 成为 yum 源中默认的数据库安装包。在 CentOS 7 及以上的系统中使用 yum 安装 MySQL 包将无法使用 MySQL。您可以选择使用完全兼容的 MariaDB,或依照本文介绍配置来继续使用 MySQL。本文以在 CentOS 7 下安装 MySQL 5.7.21 为例。

1. 检查 MariaDB 是否安装

yum list installed | grep mariadb

2. 卸载全部 MariaDB 相关

yum -y remove mariadb*

3. 下载 MySQL 的 YUM 源

进入到要下载到的路径:cd /usr/local/src

下载:wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

4. 安装 MySQL 的 YUM 源

 rpm -ivh mysql57-community-release-el7-11.noarch.rpm

5. 检查 MySQL 的 YUM 源是否安装成功

 yum repolist enabled | grep "mysql.*-community.*"

如图所示则安装成功。

6. 查看 MySQL 版本

 yum repolist all | grep mysql

7. 安装 MySQL

yum install mysql-community-server

一直输 y 就可以了。

8. 启动 MySQL 服务

systemctl start mysqld

9. 测试连接 MySQL 服务

mysql -u root 或者 mysql

--------------------------------------------------------------------------------

提示:

刚安装的 MySQL 是没有密码的,这时如果出现:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO),解决如下:

① 停止 MySQL 服务:systemctl stop mysqld 

② 以不检查权限的方式启动 MySQL: mysqld --user=root --skip-grant-tables &

③ 再次输入 mysql -u root 或者 mysql,这次就可以进来了。

④ 更新密码:

MySQL 5.7 以下版本:UPDATE mysql.user SET Password=PASSWORD('123456') where USER='root';

MySQL 5.7 版本:UPDATE mysql.user SET authentication_string=PASSWORD('123456') where USER='root';

⑤ 刷新:flush privileges;

⑥ 退出:exit;

设置完之后,输入 mysql -u root -p,这时输入刚设置的密码,就可以登进数据库了。

--------------------------------------------------------------------------------

10. 防火墙设置

远程访问 MySQL,需要开放 3306 端口:

firewall-cmd --permanent --zone=public --add-port=3306/tcp

firewall-cmd --permanent --zone=public --add-port=3306/udp

firewall-cmd --reload

如果是 CentOS 7,需要将 MySQL 服务加入防火墙,然后重启防火墙:

firewall-cmd --zone=public --permanent --add-service=mysql

systemctl restart firewalld

--------------------------------------------------------------------------------

提示:

在输入 firewall-cmd --permanent --zone=public --add-port=3306/tcp 时可能会报 'FirewallD is not running',是说防火墙本身就没有打开,解决方法:

① 查看防火墙状态:systemctl status firewalld,会发现状态是 dead,即防火墙未开启。

② 打开防火墙:systemctl start firewalld

③ 再次查看防火墙状态:systemctl status firewalld,这时会发现状态变为 running,即防火墙开启成功。

 

这时再输入开放 3306 端口的命令就没有问题了。

--------------------------------------------------------------------------------

11. 设置允许远程访问

默认情况下 MySQL 是不允许远程连接的,所以在 Java 项目或者 MySQLWorkbench 等数据库连接工具连接服务器上的 MySQL 服务的时候会报 "Host 'x.x.x.x' is not allowed to connect to this MySQL server"。可以通过下面的设置解决。详细可以参考之前写的一篇文章 XXX is not allowed to connect to this MySQL server

grant all privileges on *.* to root@"%" identified by '0';

flush privileges;

--------------------------------------------------------------------------------

提示:

在执行第一条命令的时候,可能会报:

'ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.' 需要让我们重置密码。原因是因为我刚刚的命令中设置的数据库密码是0,这个密码过于简单,不符合 MySQL 的安全要求。只要重新设置一个复杂点的密码就可以了:

mysql> SET PASSWORD = PASSWORD('xxx');   //xxx 是重置的新的复杂的密码

--------------------------------------------------------------------------------

思考

之前设置简单密码是没有问题的,可能原因:

① 可能目前环境是 CentOS 7 + MySQL 5.7.21,安全性有所提升。

② 也有可能是之前的数据库设置过

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

允许设置简单密码。

12. 相关命令

MySQL 相关:

systemctl start mysqld    #启动mysql

systemctl stop mysqld    #停止mysqld

systemctl restart mysqld    #重启mysqld

systemctl enable mysqld    #设置开机启动

systemctl status mysqld    #查看 MySQL Server 状态

防火墙相关:

systemctl status firewalld    #查看防火墙状态

systemctl start firewalld    #打开防火墙

systemctl stop firewalld    #关闭防火墙

systemctl restart firewalld    #重启防火墙

13. 参考网址

https://blog.csdn.net/qq_32786873/article/details/78843362

https://blog.csdn.net/qq_32786873/article/details/79225039

https://jingyan.baidu.com/article/5552ef47f509bd518ffbc933.html

http://blog.sina.com.cn/s/blog_a0d71a9d0102wlz3.html

### 回答1: 1. 下载MySQL 5.7安装包 在MySQL官网下载MySQL 5.7安装包,选择适合CentOS 7的版本。 2. 安装MySQL 5.7 使用以下命令安装MySQL 5.7: ``` sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm sudo yum install mysql-community-server ``` 3. 启动MySQL服务 使用以下命令启动MySQL服务: ``` sudo systemctl start mysqld ``` 4. 设置MySQL开机自启动 使用以下命令设置MySQL开机自启动: ``` sudo systemctl enable mysqld ``` 5. 修改MySQL密码 使用以下命令修改MySQL密码: ``` sudo mysql_secure_installation ``` 6. 登录MySQL 使用以下命令登录MySQL: ``` mysql -u root -p ``` 7. 安装完成 安装完成后,您可以使用MySQL 5.7进行数据库管理。 ### 回答2: 在CentOS 7上安装MySQL 5.7并不困难,只需要遵循一些简单的步骤。 1. 安装epel-release和remi仓库: ```bash sudo yum -y install epel-release yum-utils sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ``` 2. 安装MySQL 5.7: ```bash sudo yum-config-manager --enable remi-php72 sudo yum --enablerepo=remi,remi-test install mysql-server ``` 3. 启动MySQL服务: ```bash sudo systemctl start mysqld ``` 4. 进行初始设置: ```bash sudo mysql_secure_installation ``` 5. 登录MySQL: ```bash mysql -u root -p ``` 6. 创建新用户并授权: ```sql CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 7. 退出MySQL: ```sql exit; ``` 现在,您已完成MySQL 5.7安装和设置,可以开始使用了。 ### 回答3: CentOS 7是一款通用的Linux操作系统,对于开发者和服务器管理员来说是一个非常好的选择。MySQL是一个重要的关系型数据库管理系统,用于存储和管理数据。在CentOS 7上安装MySQL5.7,需要按照以下步骤进行操作: 步骤一:安装mysql的yum库 在命令行中使用以下命令安装mysql yum库: ``` sudo yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm ``` 步骤二:安装MySQL5.7安装MySQL之前,请先更新yum包仓库,以确保所有软件包都是最新的。使用以下命令进行更新: ``` sudo yum update ``` 然后,以root用户身份执行以下命令来安装MySQL5.7: ``` sudo yum install mysql-community-server ``` 执行完以上命令后,MySQL5.7将会被成功安装在您的CentOS 7系统中。 步骤三:启动MySQL安装MySQL后,需要使用下面的命令来启动MySQL服务: ``` sudo systemctl start mysqld ``` 如果需要设置MySQL开机启动,可以使用以下命令: ``` sudo systemctl enable mysqld ``` 步骤四:配置MySQL 默认情况下,MySQL安装后的root用户没有密码,您需要使用以下命令来设置root用户的密码: ``` sudo mysql_secure_installation ``` 首先,系统会提示您输入当前密码,因为该用户没有密码,可直接回车即可。随后按照提示输入密码即可。完成MySQL安装后,建议您备份一下安全文件,以防万一。 步骤五:使用MySQL 最后,您可以使用MySQL客户端工具连接到MySQL数据库。如果您的MySQL服务器没有安装在本地,则需要使用-ip选项指定服务器的IP地址。以下是示例命令: ``` mysql -u root -p -h 127.0.0.1 ``` 使用这个命令,即可连接到本地MySQL服务器,开始使用MySQL来管理您的数据。 CentOS 7下安装MySQL5.7方法就介绍到这里,如果在安装和使用过程中有疑问,可以查找更多相关资料进行学习。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员X小鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值