在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. 使用js解决response.sendRedirect("...")重定向URL之后出现跨域问题

    背景: 本系统与门户系统单点登录时候,需要重定向到门户系统的登录页面,可是如果长时间没有操作的话,session会话失效,就需要跳转到登录页面. 所以在使用 response.sendRedirect ...

  2. cocos动画没有cc.Sprite.spriteFrame属性

    对于新人来说总是有那么多的坑等着你. 新建动画节点的时候千万别[新建空节点]!!! 上面这个就是新建了空的节点,导致没有cc.Sprite.spriteFrame属性. 正确姿势: 粗略试了一下除了空 ...

  3. MySQL处理达到百万级数据时,如何优化?

    1.两种查询引擎查询速度(myIsam 引擎 ) InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行. ...

  4. java - day015 - 手写双向链表, 异常(续), IO(输入输出)

    类的内存分配 加载到方法区 对象在堆内存 局部变量在栈内存 判断真实类型,在方法区加载的类 对象.getClass(); 类名.class; 手写双向链表 package day1501_手写双向链表 ...

  5. Linux命令——tac、rev

    tac和rev命令列到一起,并不是功能相似,而是他们都是将输入内容反置. tac -s:使用指定字符串代替换行作为分隔标志 [root@localhost ~]# echo "1,2&quo ...

  6. Nginx上传和超时时间限制 (php上传限制) - 运维笔记

    现象说明:在服务器上部署了一套后台环境,使用的是nginx反向代理tomcat架构,在后台里上传一个70M的视频文件,上传到一半就失效了! 原因:nginx配置里限制了上传文件的大小 client_m ...

  7. python3 jieba分词

    一.jieba库用于分词,https://github.com/fxsjy/jieba 二.分词:分词精细:全局(文本分析)<精确(快速成词)<搜素(搜素引擎分词) #分词 str=r'今 ...

  8. MyBatis3_[tp-26-27]_映射文件_select_返回List_记录封装Map:返回单个元素的Map或者整体Map集合

    笔记要点出错分析与总结工程组织 1.定义接口 public interface EmployeeMapper { //多条记录封装到一个map中: Map<Integer,Employee> ...

  9. LOJ-1308-Ant network(蚂蚁的网络)-求割点分隔开的子图个数及乘积

    网上的题解大都模糊,我可能写的也比较模糊吧,讲究看看. 大致题意: 原图没有一个割点时,特殊考虑,至少ans1=2个通风井,方案数n*(n-1)/2; 原图上有多个割点时,每个(由割点限制成几部分的) ...

  10. Django之路——2 Django的安装

    Django的安装分为两种方式,一种是命令行安装,另外一种是pycharm安装.在这里只说一种在命令行里面安装的 1.命令行安装 这个自不必多说,直接上干货,如果遇到pip版本过低,安装失败的,请自自 ...