一、下载对应的版本的MySql安装文件

1、下载路径

https://dev.mysql.com/downloads/mysql/

2、选择对应的Linux版本和x86/x64位的安装文件

查看Linux的版本信息可以参考:查看CentOS/Linux的版本信息

我下载的是:mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar

3、解压

      

查看解压后的文件:

二、添加MySql用户组和用户

      1、查看用户组

groups 查看当前登录用户的组内成员
      groups mysql 查看mysql用户所在的组,以及组内成员
      whoami 查看当前登录用户名

      2、添加用户组

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

注:groupadd和useradd的语法或名称在不同版本的Unix系统上可能略有不同,但在CentOS6.5中应进行如上操作。上述操作只是为了获得系统的所有权,而不是以登录为目的;使用useradd命令和-r和-s /bin/false选项来创建一个没有登录权限的用户。

三、卸载旧版本的MySql(没有的话,则跳过此步骤)

1、查看旧版本MySql

rpm -qa | grep mysql

将会列出旧版本MySql的组件列表,如:

我的电脑这里只显示一个,有可能会有多个。

2、逐个删除掉旧的组件

使用命令rpm -e --nodeps {-file-name}进行移除操作,移除的时候可能会有依赖,要注意一定的顺序。

第一次没有删除成功是因为最后多了一个空格。

三、使用rpm命令安装MySql组件

使用命令rpm -ivh {-file-name}进行安装操作。

 [root@sxl129 Downloads]# rpm -ivh mysql-community-common-5.7.20-1.el6.x86_64.rpm
warning: mysql-community-common-5.7.-.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [%]
:mysql-community-common ########################################### [%]
[root@sxl129 Downloads]# rpm -ivh mysql-community-libs-5.7.20-1.el6.x86_64.rpm
warning: mysql-community-libs-5.7.-.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [%]
:mysql-community-libs ########################################### [%]
[root@sxl129 Downloads]# rpm -ivh mysql-community-libs-compat-5.7.20-1.el6.x86_64.rpm
warning: mysql-community-libs-compat-5.7.-.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [%]
:mysql-community-libs-co########################################### [%]
[root@sxl129 Downloads]# rpm -ivh mysql-community-client-5.7.20-1.el6.x86_64.rpm
warning: mysql-community-client-5.7.-.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [%]
:mysql-community-client ########################################### [%]
[root@sxl129 Downloads]# rpm -ivh mysql-community-server-5.7.20-1.el6.x86_64.rpm
warning: mysql-community-server-5.7.-.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [%]
:mysql-community-server ########################################### [%]

  注:ivh中, i-install安装;v-verbose进度条;h-hash哈希校验

四、登录并创建MySql密码

1、启动Mysql

安装完后,使用命令service mysqld start启动MySQL服务。

 2、修改MySql的密码

由于MySQL5.7.4之前的版本中默认是没有密码的,登录后直接回车就可以进入数据库,进而进行设置密码等操作。其后版本对密码等安全相关操作进行了一些改变,在安装过程中,会在安装日志中生成一个随机密码。

怎么找到这个随机密码呢?

使用:

 grep 'temporary password' /var/log/mysqld.log

即可查询到类似于如下的一条日志记录:

 [root@sxl129 Downloads]# grep 'temporary password' /var/log/mysqld.log
--03T10::.423162Z [Note] A temporary password is generated for root@localhost: hqQRMP:D)9Q&

hqQRMP:D)9Q&即为登录密码。使用这个随机密码登录进去,然后修改密码,使用命令:

   mysql -uroot -p

 Enter password: (在这里输入密码)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7. Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

执行下面的命令修改MySql密码

 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'sxl';
Query OK, rows affected (0.00 sec)

3、创建一个可以外部访问的账户  

由于MySql使用的是3306端口,我们要将3306端口加入外网访问权限,使用如下命令:

  iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
启动Mysql后,你可以查看3306端口是被MySql的进程所占用:
 root@sxl129 Desktop]# lsof -i:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld mysql 27u IPv6 0t0 TCP *:mysql (LISTEN)

在MySql中创建一个用户,然后使用户能被外网访问:

 mysql> CREATE USER 'linglong'@'%' IDENTIFIED BY 'sxl';
Query OK, rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'linglong'@'%' WITH GRANT OPTION;
Query OK, rows affected (0.00 sec) mysql> flush privileges;(这句一定要加上)
Query OK, rows affected (0.00 sec)

PS:如果不能被外网访问,则会报:host-xxx-xx-xxx-xxx-is-not-allowed-to-connect-to-this-mysql-server的异常。

五、使用Navicat连接访问MySql

连接成功。

 六、RPM安装MySql时的默认路径 

    数据文件:/var/lib/mysql/

    配置文件模板:/usr/share/mysql mysql

    客户端工具目录:/usr/bin

    日志目录:/var/log/pid

    sock文件目录:/tmp/(但是我在tmp目录下没有找到,在/var/lib/mysql/目录下找到了mysql.sock文件,知道的大神麻烦告知一下

    一般配置文件会放置在/etc下

七、参考文档

http://blog.csdn.net/flyingaga/article/details/62248623

https://stackoverflow.com/questions/1559955/host-xxx-xx-xxx-xxx-is-not-allowed-to-connect-to-this-mysql-server

http://blog.csdn.net/ei__nino/article/details/25069391

https://www.cnblogs.com/bookwed/p/5896619.html

http://blog.csdn.net/zhanngle/article/details/41042631

Linux/CentOS下安装MySql RPM Bundle的更多相关文章

  1. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  2. Linux(Centos)下安装MySQL

    转载:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 一.mysql简介 说到数据库,我们大多想到的是关 ...

  3. Linux CentOs 下 安装 mysql nginx redis

    SCP 的使用 来源于: https://blog.csdn.net/qq_30968657/article/details/72912070 scp [参数] <源地址(用户名@IP地址或主机 ...

  4. Centos下安装mysql 和挂载硬盘

    一,CentOS下安装Mysql 6.5 1.检测系统是否自带安装mysql # yum list installed | grep mysql 2.删除已经安装的Mysql # yum -y rem ...

  5. Centos下安装mysql 总结

    一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

  6. Linux(CentOs)下安装Phantomjs + Casperjs

    Linux(CentOs)下安装Phantomjs + Casperjs 是参照cnMiss's Blog http://ju.outofmemory.cn/entry/70691的博客进行安装的 1 ...

  7. Linux CentOS下安装Tomcat9

    本文讲解在Linux CentOS下安装Tomcat9,以及Web项目的部署发布. 环境:阿里云ECS 云服务器Linux CentOS 使用XShell客户端连接服务器,进行操作实践. 1.下载To ...

  8. 【linux系列】Centos下安装mysql数据库

    前言 为了测试方便,通常我们会自己安装数据库,以下是在Centos上安装Mysql的操作. 一.检查自己是否安装了MySQL数据库 [root@s201 /home/mysql]#rpm -qa |g ...

  9. 在linux系统下安装mysql详解,以及远程调用连接不上mysql的解决方法。

    步骤: 1)查看CentOS自带的mysql 输入 rpm -qa | grep mysql 2)将自带的mysql卸载 3)上传Mysql的安装包到linux 4)安装mysql的依赖(不是必须) ...

随机推荐

  1. 在Apex中使用sObject

    sObject对象的定义 Salesforce中的标准对象或自定义对象在Apex中使用时被称作"sObject".sObject对象的一个实例相当于Salesforce中的一条记录 ...

  2. 《Inside C#》笔记(三) 数据类型

    数据类型系统是一门编程语言的核心..NET系列的语言使用统一的数据类型系统CTS(Common Type System).所有的数据类型都继承自System.Object. 一 值类型和引用类型 a) ...

  3. 【转载】Android RecyclerView 使用完全解析 体验艺术般的控件

    崇拜下鸿洋大神,原文地址:http://blog.csdn.net/lmj623565791/article/details/45059587 概述 RecyclerView出现已经有一段时间了,相信 ...

  4. vuejs组件库pk介绍

    vuejs可以说是近2年多以来最火的前端框架,随之而来就产生了非常多的组件库,我们来看看其中比较著名和人气旺盛的几个 1. Vuetify-符合material design设计理念, star数量7 ...

  5. JMeter—前置处理器(九)

    参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第四节前置处理器前置处理器用来处理请求前的一些准备工作,比如参数设置.环境变变量设置等 一.BeanShell ...

  6. tkinter中frame布局控件

    frame控件 frame控件是将窗口分成好几个小模块,然后每个小模块中添加控件. 也就是将窗口合理的布局 由于和其他控件的操作基本一致,就不做注释了 import tkinter wuya = tk ...

  7. sqlserver 将 “用 特定字符 分隔的一个字段” 拆分成多个字段,然后两个表之间数据更新

    将源TXT文件sourceFile_table.txt导入数据库,生成新表dbo.sourceFile_table.新增字段lon.lat.shi.xian 源表dbo.sourceFile_tabl ...

  8. 【PAT】B1078 字符串压缩与解压(20 分)

    主函数接收下第一个字符,接着一个分支就转到两个函数中的一个 1.压缩简单,只要与下一个一样就只计数,如果不同了就直接输出 2.至于解压不知道数字是几位数,所以我直接用了sscanf,然后判断是几位数字 ...

  9. 个人技术博客——linux服务器配置以及flask框架

    本次的软件工程实践,我负责我们组后台服务的搭建,我选用了bandwagon的服务器,安装的是Debian GNU/Linux,全程在root用户下操作,后端服务是用python的flask框架,数据库 ...

  10. Linux Java 环境配置及内置tomcat部署

    tar zxvf jdk-8u101-linux-x64.tar.gz vi /etc/profile JAVA_HOME=/home/puma/jdk1.8.0_111JAVA_BIN=/home/ ...