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,这时输入刚设置的密码,就可以登进数据库了。
远程访问 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 #重启防火墙
CentOS 7 下安装 MySQL 5.7的更多相关文章
- CentOS 7 下安装 MySQL 8.x
CentOS 7 下安装 MySQL 8.x 作者:Grey 原文地址: 博客园:CentOS 7 下安装 MySQL 8.x CSDN:CentOS 7 下安装 MySQL 8.x 环境 CentO ...
- CentOS 7 下安装 MySQL 8.0
前言 本篇文章主要介绍在 CentOS 7 环境下安装 MySQL 8.0. 正文 1. 配置yum源 首先在 https://dev.mysql.com/downloads/repo/yum/ 找到 ...
- Centos 7 下安装mysql
// 卸载原有maridb-lib库 [root@localhost ~]# rpm -qa | grep mariadb mariadb-libs-5.5.41-2.el7_0.x86_64 [ro ...
- CentOS 7 下安装 mysql ,以及用到的命令
VMware虚拟机装好后,再装个CentOS7系统,以上环境自行百度... 一.Linux下查看mysql是否安装 1.指令ps -ef|grep mysql [root@localhost 桌面]# ...
- CentOS 7下安装Mysql 5.7
参见http://www.07net01.com/2016/03/1355735.html 过程中需要安装perl CentOS 7 采用了 firewalld 防火墙 service firewal ...
- centos 7下安装mysql
可参考: http://blog.csdn.net/xyang81/article/details/51759200 1.去mysql官方网站查询最新的版本: 2.运行指令: wget http:// ...
- centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记
centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记 目录[-] 过程 1.安装RVM 2.利用rvm安装 Ruby 1.9.3 并设为默认 3.安装rails 4.安装 ...
- Centos下安装mysql 总结
一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...
- CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)
原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作 ...
随机推荐
- PHP无法使用curl_init()函数
主要针对在Ubuntu16.04搭建CRMEB环境时,监测环境会出现一个curl_init问题,这时只需执行如下命令即可解决: sudo apt-get install php-curl
- 值得H5前端学习的60个JS插件(含DEMO演示)
下面也可以说是H5前端学习的js插件大全.基本包含了大部分的前端最前沿的js插件和库. 布局 SuperEmbed.js- 是一个Javascript库,可检测出网页上的内嵌视频并使他们能够变成响应式 ...
- 简单实用的PCM音频播放器--沉寂几年之后回归的第一份笔记
---恢复内容开始--- PCM音频网络流播放,至于用处,就不多解释了. 一个简单的类,基于NAudio,一个简单的拼装类,实例化时三个参数,依次是采样率,系统播放设备Index,播放声道,调用Pla ...
- MYSQL 神奇的操作insert into test select * from test;
将16行数据复制一份插入数据库,变成32行
- 项目启动报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.wuhongyu.mapper.OrdersMapper.selectByExample
在用maven配置mybatis环境时出现此BindingExceptiony异常,发现在classes文件下没有mapper配置文件,应该是maven项目没有扫描到mapper包下的xml文件, 在 ...
- you are not allowed to push code to protected branches on this project(转)
.. 图 1-1 报错:failed to push some refs to 'http://*******.git'. 一痛瞎踅摸之后,远程控制电脑,在H电脑上,重新建立了一个test项目,之后走 ...
- AndoridSQLite数据库开发基础教程(8)
AndoridSQLite数据库开发基础教程(8) 添加索引 索引是一种通过预先排序和对表的一个或多个列构建索引表来优化数据库查找的手段.下面为表添加索引,操作步骤如下: (1)在打开的数据库中,单击 ...
- C++ STL排序问题
/* stl排序 */ #include <iostream> #include <map> #include <vector> #include <list ...
- 为什么一般hashtable的桶数会取一个素数
为什么一般hashtable的桶数会取一个素数 设有一个哈希函数H( c ) = c % N;当N取一个合数时,最简单的例子是取2^n,比如说取2^3=8,这时候H( 11100(二进制) ) = H ...
- 004-行为型-11-解析器模式(Interpreter)
一.概述 提供了评估语言的语法或表达式的方式.这种模式实现了一个表达式接口,该接口解释一个特定的上下文.这种模式被用在 SQL 解析.符号处理引擎等. 意图:给定一个语言,定义它的文法表示,并定义一个 ...