• 前言

前段时间领导让我部署测试环境,希望安装高版本的MySQL,过程遇到很多问题,特此记录帮助迷失的人们

  • 下载

MySQL官方下载地址:https://dev.mysql.com/downloads/mysql/

如图所示,点击DOWNLOAD下载即可

  • 安装

将下载好的压缩包上传到Linux服务器 /usr/local目录下

.gz解压:

  1. tar -zxvf mysql-XXX.tar.gz

.xz解压:

  1. unzip mysql-XXX.tar.xz

重命名(最好这样做,因为mysql官网默认安装路径:/usr/local/mysql):

  1. mv mysq-XXX mysql

创建数据存储文件夹:

  1. mkdir /usr/local/mysql/data

创建用户及用户组:

  1. # 用户组
  2. groupadd mysql
  3. # 用户 (用户名/密码)
  4. useradd -g mysql mysql
  5. # 授权
  6. chown -R mysql.mysql /usr/local/mysql/

* 编辑 /etc/my.cnf 文件(最重要的一步来了,mysql8通用配置,没有该文件则新建):

  1. [mysqld]
  2. # 设置3306端口
  3. port=3306
  4. # 设置mysql的安装目录
  5. basedir=/usr/local/mysql
  6. # 设置mysql数据库的数据的存放目录
  7. datadir=/usr/local/mysql/data
  8. # 允许最大连接数
  9. max_connections=200
  10. # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
  11. max_connect_errors=10
  12. # 服务端使用的字符集默认为UTF8
  13. character-set-server=utf8mb4
  14. # 创建新表时将使用的默认存储引擎
  15. default-storage-engine=INNODB
  16. # 默认使用“mysql_native_password”插件认证
  17. default_authentication_plugin=mysql_native_password
  18.  
  19. user=mysql
  20. lower_case_table_names=1
  21. default-time-zone='+8:00'
  22. sql_mode=NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE
  23.  
  24. [client]
  25. # 设置mysql客户端连接服务端时默认使用的端口
  26. port=3306
  27. default-character-set=utf8mb4

初始化数据库:

  1. mysqld --initialize --console

# 网上有好多在初始化数据库的时候设置好多参数,我这里说明下,因为我们在 /etc/my.cnf 文件里编辑了我们所需的所有配置,MySQL初始化时首先默认读取 my.cnf 文件

# 所以我们直接执行初始化命令就好,当然也可以不配置 my.cnf 文件且初始化的时候设置参数即可,但是初始化命令不可逆转,如果后面启动服务失败只能下载重新安装

建立MySQL服务:

  1. ln -s /usr/local/mysql/bin/mysql /usr/bin

将MySQL服务加入自启动:

  1. cp -a ./support-files/mysql.server /etc/init.d/mysql
  2. chmod +x /etc/init.d/mysql
  3. # 加入自启动
  4. chkconfig --add mysql
  5. # 检查服务是否生效
  6. chkconfig --list mysql

启动mysql服务:

  1. # 启动
  2. service mysql start
  3. # 查看启动状态
  4. service mysql status

以安全模式登录MySQL:

  1. # 安全模式登录
  2. ./bin/mysqld_safe --skip-grant-tables
  3. # 打开新窗口登录mysql
  4. ./usr/local/mysql/bin/mysql -u root

修改root密码:

  1. use mysql;
  2. update user set host='%' where user='root';
  3. update mysql.user set Password=password('root') where User='root';
  4. grant all privileges on *.* to root@"%" identified by 'root';
  5. flush privileges;

查看进程号并杀死MySQL安全服务:

  1. ps -ef|grep mysql
  2. kill -9 进程号

导入sql文件

  1. mysql -uroot -D数据库名 < XXX.sql

至此,mysql安装完毕,我们就可以愉快的玩耍了

  • 卸载

若过程出现操作不当,需要卸载MySQL也很简单,因为我们并没有使用 yum 或 rpm 命令等等,所以只有两步

关闭MySQL服务:

  1. service mysql stop

删除MySQL文件:

  1. rm -rf $(find / -name mysql)

Linux安装MySQL8高版本压缩包(通用)的更多相关文章

  1. centos7安装较高版本python3.5/3.6

    应用环境: Centos7或者RHEL7下默认安装的python版本为2.7.x,更新不够及时,现在很多时候需要额外安装较高版本的python环境, 网上搜罗一圈总结记录一下常用两种方式: ① 源码编 ...

  2. 转:centos7/rhel7安装较高版本ruby2.2/2.3/2.4+

    centos7/rhel7安装较高版本ruby2.2/2.3/2.4+   环境需求:  在Centos7.3中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比 ...

  3. CentOS6编译安装gcc高版本

    编译安装gcc高版本 因CentOS中gcc版本仅有4.4,故编译安装gcc高版本. 安装依赖库(如果你已安装过gcc低版本,可跳过这步) yum install glibc-static libst ...

  4. 安装了高版本OS X 之后无法使用MacPorts的port命令

    安装了高版本OS X 之后无法使用MacPorts的port命令 pod update提示: Current platform "darwin 14" does not match ...

  5. Linux安装Mysql8.0及SQL分类的补充

    Linux安装Mysql8.0 参考文章:https://blog.csdn.net/qq_38570633/article/details/109257430 参考文献:https://blog.c ...

  6. Linux安装mysql8.*

    分别在Linux和windows上安装mysql8.* 环境 CentOS7 安装mysql8 步骤: window下的Navicat 连接MySql8: 第一部分 CentOS7安装mysql8 1 ...

  7. centos7/rhel7安装较高版本ruby2.2/2.3/2.4+

    环境需求: 在Centos7.3中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4...那就有点麻烦了,譬如:我准备使用redis官方给 ...

  8. linux安装mysql8.0

    linux 上安装mysql8.0 mysql版本8.0.16 MySQL Community 操作系统centos7 准备工作: mysql8.0 rpm文件 安装步骤: 1. 下载mysql的re ...

  9. Linux安装mysql8.0.29详细教程

    ​ 我在上午卸载了陪伴我多年的mysql5.7,现在准备安装mysql8.0. 一.登录mysql官网下载mysql安装包(我的系统是Centos7) MySQL :: Download MySQL ...

随机推荐

  1. 探索 .NET Core 依赖注入的 IServiceProvider

    在上一篇文章中,我们学习了Microsoft.Extensions.DependencyInjection中的IServiceCollection,包括服务注册转换为ServiceDescriptor ...

  2. 封装fetch请求失败和超时再次请求

    转: 封装fetch请求失败和超时再次请求 function _fetch(fetch_promise, timeout) { var abort_fn = null; //这是一个可以被reject ...

  3. 剑指 Offer 38. 字符串的排列 + 无重复元素的全排列

    剑指 Offer 38. 字符串的排列 Offer_38 题目描述 解题思路 可以使用递归实现全排列,每次都确定一个数的位置,当所有位置的数都确定后即表示一个排列. 但是考虑到本题需要排除重复的排列, ...

  4. PAT-1151(LCA in a Binary Tree)+最近公共祖先+二叉树的中序遍历和前序遍历

    LCA in a Binary Tree PAT-1151 本题的困难在于如何在中序遍历和前序遍历已知的情况下找出两个结点的最近公共祖先. 可以利用据中序遍历和前序遍历构建树的思路,判断两个结点在根节 ...

  5. burpsuite 隐藏 detectportal.firefox.com

        0x00原由 抓包时经常出现detectportal.firefox.com,不利于我们的渗透工作 0x01解决方法 在输入框输入:about:config 然后设置以下选项:network. ...

  6. jdk 集合大家族之Map

    jdk 集合大家族之Map 前言: 之前章节复习了Collection接口相关,此次我们来一起回顾一下Map相关 .本文基于jdk1.8. 1. HashMap 1.1 概述 HashMap相对于Li ...

  7. python基础学习之描述符和装饰器

    描述符的了解: 描述符协议: python描述符是一个"绑定行为"的对象属性,在描述符协议中,它可以通过方法重写属性的访问.这些方法有: __get__, __set__, 和__ ...

  8. javascript 之对象-13

    对象 无序属性的集合,属性可以包含基本值.对象或者函数,简单理解为对象是若干属性的集合:我们常说的面向对象(oop)编程其实是指的一种编码的思想,简单理解为用对象来封装数据,利用封装.继承.多态对代码 ...

  9. LAB1 启动操作系统

    从机器上电到运行OS发生了什么? 在电脑主板上有一个Flash块,存放了BIOS的可执行代码.它是ROM,断电不会丢掉数据.在机器上电的时候,CPU要求内存控制器从0地址读取数据(程序第一条指令)的时 ...

  10. POJ_1227 Jack Straws 【二维平面判两线段相交】

    一 题面 POJ1127 二 分析 在平面几何中,判断两线段相交的方法一般是使用跨立实验.但是这题考虑了非严格相交,即如何两个线段刚好端点相交则也是相交的,所以还需要使用快速排斥实验. 这里参考并引用 ...