在CentOS(Fedora、RedHat)系统中,可以使用yum install mysql命令来安装MySQL,但所安装的MySql版本一般都较旧,所以更推荐通过源码编译安装或下载最新rpm安装包进行安装。

  1. 添加MySQLYum
  2. 选择一个发行系列
  3. 使用Yum安装MySQL
  4. 启动MySQL服务器
  5. 加固MySQL安全(仅MySQL5.6适用)

MySQL的Yum源提供了RPM安装包,包括MySQL服务端、客户端、及Linux平台的其它组件。这些安装包同样可以用于升级或替换第三方已安装的MySQL。

MySQL的Yum源支持以下Linux平台:

  • 基于EL5-、EL6-、EL7-的平台(如 Red Hat Enterprise Linux、Oracle Linux 和 CentOS)
  • Fedora 23 和 24

1. 添加MySQLYum

首先,添加MySQLYum源到系统源列表中:

  1. 打开MySQLYum源下载页:http://dev.mysql.com/downloads/repo/yum/,选择并下载你所用系统适用的发行包。
  2. 使用以下命令安装下载的发行包

如,我下载的发行包为mysql57-community-release-el6-9.noarch.rpm,安装命令如下:

$ sudo rpm -Uvh mysql57-community-release-el6-9.noarch.rpm

注意:安装发行包后,如果系统执行yum update命令(或在dnf-enabled的系统中执行dnf upgrade命令)后,会自动升级系统中的MySQL包,并会自动替换所有的本地第三方包。

2. 选择一个发行系列

使用MySQLYum源时,默认会安装MySQL最新的GA(General Availability,正式发布)版本。如果正要使用最新的版本,请跳过本步骤,直接查看使用Yum安装MySQL

MySQLYum源的内部,不同的发行系列对应了MySQL社区服务器的不同资源子节点。子节点默认为最新的正式版本(当前为 5.7),而其它资源子节点(如5.5、5.6等)默认是不可用的。

可以通过以下命令,查询子资源是否可用(在dnf-enabled的系统中使用dnf命令替代yum):

yum repolist all | grep mysql
mysql-connectors-community        MySQL Connectors Community     enabled:     24
mysql-connectors-community-source MySQL Connectors Community - S disabled
mysql-tools-community MySQL Tools Community enabled: 40
mysql-tools-community-source MySQL Tools Community - Source disabled
mysql-tools-preview MySQL Tools Preview disabled
mysql-tools-preview-source MySQL Tools Preview - Source disabled
mysql55-community MySQL 5.5 Community Server disabled
mysql55-community-source MySQL 5.5 Community Server - S disabled
mysql56-community MySQL 5.6 Community Server disabled
mysql56-community-source MySQL 5.6 Community Server - S disabled
mysql57-community MySQL 5.7 Community Server enabled: 146
mysql57-community-source MySQL 5.7 Community Server - S disabled
mysql80-community MySQL 8.0 Community Server disabled
mysql80-community-source MySQL 8.0 Community Server - S disabled

如上所示,因为笔者安装5.7版本Yum源,所以默认启用的就是5.7版本。

如果要安装最新的发行版,则不需要其它配置。而要指定安装一个早期版本,则需要在安装前禁用最新发生版,并启用指定要安装的版本。可以通过修改/etc/yum.repos.d/mysql-community.repo文件实现,该文件是一个指定子资源的入口:

[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

如上所示,默认启用的是最新的5.7版本。如果要修改配置,可以通过编辑enabled配置节点实现,enable=0表示禁用该子资源,而enabled=1表示启用该子资源。

例如,如果需要启用5.6版本的源,就需要将如下所示的5.6版本源设置为enabled=1并将5.7版本源设置为enabled=0

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

配置完成后,可以使用前面所示的yum repolist enabled | grep mysql命令检查配置是否正确。

3. 使用Yum安装MySQL

使用以下命令安装MySQL(在dnf-enabled的系统中使用dnf命令替代yum):

$ sudo yum install mysql-community-server

以上命令用于安装MySQL的服务端模块,安装其它模块命令格式也类似。

4. 启动MySQL服务器

启动MySQL服务命令如下:

$ sudo service mysqld start

启动时会依次输出以下信息:

Initializing MySQL database:       [  OK  ]
Installing validate password plugin: [ OK ]
Starting mysqld: [ OK ]

可以通过以下命令检查MySQL的运行状态:

$ sudo service mysqld status

在5.7版本的MySQL启动时,因为数据目录是空的,所以会有以下操作:

  1. 服务器初始化
  2. 在数据目录生成一个SSL证书和key文件
  3. validate_password插件安装并启用
  4. 创建一个超级管理帐号'root'@'localhost'。管理的密码会保存在错误日志文件中,可以通过以下命令查看:
    $ sudo grep 'temporary password' /var/log/mysqld.log

    可以通过以下命令并使用自动生成的临时密码登录,然后修改为一个自定义密码:

    $ mysql -u root -p 

    密码修改:

    $ ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPassword';

注意:MySQL的validate_password插件是默认安装的。这要求MySQL密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且总密码长度至少为8个字符。

5. 加固MySQL安全(仅MySQL5.6适用)

mysql_secure_installation程序可以保证一些重要操作的安全性,如:修改root用户的密码、删除匿名用户等。如果安装是MySQL 5.6,应该保证始终运行该程序:

$ mysql_secure_installation

Linux CentOS 使用Yum源安装MySQL 5.7的更多相关文章

  1. Linux - CentOS 7 通过Yum源安装 MySql 5.7

    添加MySQL Yum存储库 从官网下载最新的mysql源 官网地址:https://dev.mysql.com/downloads/repo/yum/ 选择并下载适用于平台的发行包. 然后,在Lin ...

  2. (转)RHEL/CentOS 6.x使用EPEL6与remi的yum源安装MySQL 5.5.x

    PS:如果既想获得 RHEL 的高质量.高性能.高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 Fedora Project 推出的 EPEL(Extra Packages for En ...

  3. RHEL/CentOS 6.x使用EPEL6与remi的yum源安装MySQL 5.5.x

    PS:如果既想获得 RHEL 的高质量.高性能.高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 FedoraProject 推出的 EPEL(Extra Packages for Ent ...

  4. First Linux Centos 7.2 rpm 安装MySQL 5.7

    服务器需要换python环境,手贱重装了,今天凑巧需要测试数据库,花了一个小时搞了一下MySQL安装. 1.删除原有Mariadb 说明:目前centos默认的MySQL是Mariadb,由于习惯了M ...

  5. centos本地yum源安装

    1.为DVD或U盘创建一个用于挂载的目录 [root@localhost ~]# mkdir /media/CentOS/ 2.查看DVD或U盘所在的路径 [root@localhost ~]# fd ...

  6. centos 7 yum方式安装MySQL 5.6

    本文根据mysql的官方文档操作:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 由于Centos7 默认数据库是mariabd(网上 ...

  7. Centos7上使用官方YUM源安装Mysql

    1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-co ...

  8. Linux(CentOS 6.5) 下安装MySql 5.7.18 二进制版本粗浅攻略

    鉴于Linux和mysql因不同版本,安装方式也不同,所以在阅读本攻略前,请确保各位同学的版本和我的Linux.MySql 版本一致. 如果不一致,只能参考. 我的版本: Linux CentOS 6 ...

  9. Linux 下使用yum 命令安装MySQL

    Linux下使用yum安装MySQL,以及启动.登录和远程访问MySQL数据库. 1.yum安装mysql 1. 查看有没有安装包:   yum list mysql*    #移除已经安装的mysq ...

随机推荐

  1. https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce/repodata/repomd.xml:HTTPS Error 404 - Not Found

    1.按照菜鸟教程,安装docker,竟然报如题错误 2.然后发现,自己再添加软件源信息的时候,自作聪明的把centos换成了自己的主机名 3.那么需要重新来,先删除 cd  /etc/yum.repo ...

  2. window事件

    window事件是较为重要的事件,接下来就讲解一下. 1.获取页面滚动栏的距离 什么是滚动栏,就是网页内容过多时,通过滚轮控制上下显示或者左右显示: 为窗口添加滚动条事件: window.onscro ...

  3. S5PV210 启动流程

    S3C6410启动流程 首先,看一下S3C6410启动流程 ① iROM supports initial boot up : initialize system clock, D-TCM, devi ...

  4. 【问题】man手册如何查看区分printf命令和printf函数

    参考:UNIX / Linux Man Command Example to View Man Pages 今天再看别人博客的时候,先仔细看看printf命令是怎么玩的,于是man手册查了下.结果搜出 ...

  5. python之tkinter入坑Pack()------(1)

    tkinter 的pack()可以设置的属性如下: pack_configure(self, cnf={}, **kw)Pack a widget in the parent widget. Use  ...

  6. idea的jdk版本问题

    问题描述: 解决: 检查以上是否版本一致. 不行就再检查下面的: 如果上面的方法还是不行的话,就建议你改一下pom文件中的maven插件编译级别,可以通过搜索所有的pom.xml,1.6这个关键词,就 ...

  7. 《hello--world团队》第四次作业:项目需求调研与分析

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验八 团队作业4:基于原型的团队项目需求调研与分析 团队名称 <hello--w ...

  8. 301、404、200、304等HTTP状态

    在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于 ...

  9. 应用程序域 System.AppDomain,动态加载程序集

    一.概述 使用.NET建立的可执行程序 *.exe,并没有直接承载到进程当中,而是承载到应用程序域(AppDomain)当中.在一个进程中可以包含多个应用程序域,一个应用程序域可以装载一个可执行程序( ...

  10. 多继承以及MRO顺序

    class A: def test(self): print("A --- test方法") def demo(self): print("A --- demo方法&qu ...