MySQL 环境安装

本贴最后更新于 2199 天前,其中的信息可能已经时移俗易

    本文介绍在 Linux-CentOS7.2 系统环境中安装 MySQL5.7,同时也给出了 MySQL 的卸载步骤,以及设置防火墙、开放 3306 端口、允许远程访问等

一、卸载 MySQL

    首先介绍 MySQL 的卸载,用以解决已经安装错误或者防止重装等问题:

1、yum 方式

yum list installed mysql*  #查看yum是否安装过mysql
yum remove mysql-community-client  #根据前面命令返回的列表中的名字进行卸载
rm -rf /var/lib/mysql  #删除文件
rm /etc/my.cnf   #删除配置文件

2、rpm 方式

rpm -qa | grep -i mysql    #rpm查看安装
rpm -e mysql57-community-release-el7-9.noarch #根据前面命令返回的列表中的名字进行卸载
cd /var/lib/ & rm -rf mysql/  #删除文件夹

3.1 清除余项

whereis mysql  #查询余项
rm -rf /usr/bin/mysql  #根据上面命令返回的结果进行删除

3.2 删除配置

rm –rf /usr/my.cnf
rm -rf /root/.mysql_sercret

3.3 检查剩余配置

chkconfig --list | grep -i mysql
chkconfig --del mysqld

二、YUM 方式安装 MySQL

1、卸载 MariaDB

rpm -qa | grep mariadb   #查询mariadb
rpm -e --nodeps mariadb-libs-5.5.47-1.el7_2.x86_64   #根据前面命令查询结果卸载

2、关闭 selinux

vim /etc/selinux/config  
#把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器;该项用以解决启动MySQL service服务报错:ERROR!The server quit without updating PID file

3、安装 MySQL

#yum list | grep mysql
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum install mysql-community-server
service mysqld start #启动服务
cat /var/log/mysqld.log #或者使用vim查找,命令找到A temporary password is generated for root@localhost: qW/&5(2v7Q%g  读取root初始密码   qW/&5(2v7Q%g

4、更改密码

mysql -uroot -p   #输入密码qW/&5(2v7Q%g
SQL>set global validate_password_policy=0;
SQL>set global validate_password_length=4;
SQL>ALTER USER USER() IDENTIFIED BY 'root123';

5、重启 mysql 并开启远程访问

service start mysqld  #【service restart mysqld】
mysql -uroot -p  #使用新密码登录即可
SQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123' WITH GRANT OPTION;    #开启远程访问
firewall-cmd --zone=public --add-port=3306/tcp --permanent  #开放3306端口
firewall-cmd --reload #刷新防火墙端口
#systemctl restart firewalld.service  #重启防火墙服务

三、其他命令

0、彻底卸载 mysql:

rpm -qa|grep mysql
yum remove ******
rm -rf /var/lib/mysql
rm /etc/my.cnf

1、设置防火墙

  远程访问 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

2、设置允许远程访问

  默认情况下 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;

允许设置简单密码

3、相关命令

MySQL 相关:

systemctl start mysqld    #启动mysql
systemctl stop mysqld    #停止mysqld
systemctl restart mysqld    #重启mysqld
systemctl enable mysqld    #设置开机启动
systemctl status mysqld    #查看 MySQL Server 状态
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    149 引用 • 257 回帖
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    691 引用 • 535 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 22 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    190 引用 • 1057 回帖
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 155 关注
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    77 引用 • 430 回帖 • 1 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 1 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 25 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 453 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 155 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖 • 1 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    17 引用 • 236 回帖 • 328 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    62 引用 • 289 回帖
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 1 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 629 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 672 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    26 引用 • 84 回帖 • 2 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 21 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 733 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 510 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 911 回帖 • 245 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 407 回帖 • 488 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 62 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖