(本文由言念小文原创,转载请注明出处)

前言

最近安装mysql8时,遇到了一些问题,记录下来作为以后操作指导资料。

Linux上mysql安装方法个人目前使用的有两种:

一种是基于rpm安装;

另一种就是在windows上将安装包下载下来,然后通过ftp、lrzsz等工具将包传输到linux,然后再手动解压安装。

由于我的系统为centos,因此这里直接使用rpm安装。

安装的步骤预览:

STEP1 检查系统是否已安装mysql,自带了就卸载掉;

STEP2 查看rpm资源包,选择与当前linux系统对应的资源包;

STEP3 下载与系统对应的rpm资源包;

STEP4 安装rpm包;

STEP5 安装mysql;

STEP6  mysql安装结果验证;

STEP7 启动mysql;

STEP8 查看mysql运行状态;

STEP9 首次启动设置root用户账号和密码;

其中STEP7 STEP9为重点关注步骤踩坑步骤。

开始安装

安装过程中请确保当前linux系统为root用户,安装前创建一个系统用户mysql作为dba用户

STEP1 检查系统是否已安装mysql,安装了就卸载掉

rpm -qa | grep mysql #检查系统是否已安装mysql

(如果系统已安装mysql,可以卸载:

rpm -e mysql  #普通模式删除

rpm -e --nodeps mysql  # 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除)

STEP2 查看rpm资源包,选择与当前linux系统对应的资源包

Centos中使用yum命令安装mysql,安装前需要去获取对应的rpm资源包。

首先在 https://dev.mysql.com/downloads/repo/yum/ 查询rpm资源包,请注意:先查看系统的版本,再选择与系统匹配的资源包。

图1

图2

如图1图2所示,我的系统是centos7,因为我选择红框标记处对应的rpm包。

STEP3 下载与系统对应的rpm资源包

使用wget命令下载rpm资源包: “wget http://repo.mysql.com/资源包名称”,即wget http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm

说明:下载的rpm包会下载到当前执行命令的目录

STEP4 安装rpm包

rpm安装命令为:rpm -ivh rpm-pathname

执行命令:rpm -ivh mysql80-community-release-el7-3.noarch.rpm

说明:rpm-pathname为下载的rpm包的全路径。

STEP5 安装mysql

执行命令yum install mysql-server安装mysql,这个过程比较长,如果中途中断,可以下次直接执行该命令继续安装。

STEP6 mysql安装结果验证

Mysql安装完成后,需要验证一下mysql是否安装成功:

执行命令 mysqladmin --version,出现如下图信息则说明安装ok。

STEP7 启动mysql

STEP7.1 将mysql的目录拥有者改为mysql这个用户

chown mysql:mysql -R /var/lib/mysql

STEP7.2 要保证ibdata1可写

mysql启动前一定要保证ibdata1可写,否则无法启动mysql,查看/var/log/.mysqld.log日志,报下图错误:

因此需要改变一下目录读写权限:

执行命令:chmod -R 777 /var/lib/mysql

PS:我这里操作比较粗暴,建议只修改/var/lib/mysql/ibdata1的读写权限

STEP7.3 初始化mydql(这一步非常重要)

执行命令:mysqld --initialize

该动作会为root用户在/var/log/mysqld.log中生成一个初始密码

STEP7.4 启动mysql

执行命令:systemctl start mysqld

如果mysql启动失败,去查看/var/log/mysqld.log中失败原因,根据日志能够找到对应解决方法。

STEP8 查看mysql运行状态

执行命令:systemctl status mysqld

Mysql启动成功会看到下图日志:

STEP9 首次启动设置root用户账号和密码(这是本文重点中的重点,请务必仔细阅读)

STEP9.1 查看root用户初始密码

Mysql8.0之前的版本,root用户的密码默认为空,可直接修改root用户的密码。Mysql8.0及之后的版本,修改root初始密码,与之前版本不同,使用之前的方法:

mysqladmin -u root password ‘9527’

结果报错:

还记得步骤STEP7.3吗,这一步在/var/log/mysqld.log产生了一个root用户的初始密码。执行命令查看root用户的初始密码如下图。

执行命令:cat /var/log/mysqld.log

图中红框标记处,就是root用户的初始密码。

STEP9.2 使用初始密码root用户登录

执行命令:mysql -u root -p

然后输入初始密码登录成功,如下图:

STEP9.3 修改root用户登录密码

修改root用户登录密码,然后退出登录状态,在此重新使用新密码登录,验证成功。至此,mysql初步安装完成。

ALTER USER root@localhost IDENTIFIED  BY '9527'

exit

总结:步骤STEP7.3非常关键,如果缺少这一步,要修复初始密码报错问题会很复杂。

linux-mysql8的安装步骤详解及需要注意的坑的更多相关文章

  1. 【转】postgresql 9.4 在linux环境的安装步骤详解

    本文章来为各位介绍一篇关于postgresql 9.4 在linux环境的安装步骤详解,希望文章能够对各位新手朋友带来帮助的哦. 环境说明系统:centos 6.4 64位软件:postgresql ...

  2. Ubuntukylin-14.04-desktop( 不带分区)安装步骤详解

    不多说,直接上干货! Ubuntukylin-14.04-desktop(带分区)安装步骤详解 Ubuntu14.04安装之后的一些配置 Ubuntukylin-14.04-desktop( 不带分区 ...

  3. Ubuntukylin-14.04-desktop(带分区)安装步骤详解

    不多说,直接上干货! 成功! Ubuntukylin-14.04-desktop( 不带分区)安装步骤详解 Ubuntukylin-14.04-desktop( 不带分区)安装步骤详解 Ubuntu1 ...

  4. Ubuntu11.10 带图形安装步骤详解

    不多说,直接上干货! 成功!  关于Ubuntu的网络设置.静态IP设置,见 Ubuntukylin-14.04-desktop( 不带分区)安装步骤详解 Ubuntukylin-14.04-desk ...

  5. linux PHP 编译安装参数详解

    linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...

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

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

  7. K2 Blackpearl 4.6.8 安装步骤详解

    由于某些原因,我幼小的心灵受到了很大的创伤,倍感世态之炎凉,久久不能愈合,也因此很久没再接触K2 Blackpearl了.偶然来了兴趣,想整个K2的环境,闲暇之余了解其新功能,温故知新,也希望从中能讨 ...

  8. Mysql 5.7.17 解压版(ZIP版)安装步骤详解

    下载 解压版下载地址(需要登录) :http://dev.mysql.com/downloads/mysql/ 下载后解压到你想要安装的目录就可以了 配置环境变量 为了方便使用,不必每次都进入bin目 ...

  9. Linux下Mysql安装教程详解

    Linux下软件安装一般有三种方式:RPM包方式(通过Redhat 第三方包管理系统).二进制包和源码包.本篇主要介绍二进制包安装mysql数据库的方式. 如何获取二进制源码包 当然是到mysql官网 ...

随机推荐

  1. 如何正确的在 Android 上使用协程 ?

    前言 你还记得是哪一年的 Google IO 正式宣布 Kotlin 成为 Android 一级开发语言吗?是 Google IO 2017 .如今两年时间过去了,站在一名 Android 开发者的角 ...

  2. 聊聊面试-int和Integer的区别

    最近面试了很多候选人,发现很多人都不太重视基础,甚至连工作十几年,项目经验十几页的老程序员,框架学了一大堆,但是很多 Java 相关的基础知识却很多都答不上来.还有很多人会回答,只知道要用,但是从来不 ...

  3. go-结构体和方法

    结构体类型的字面量由关键字type.类型名称.关键字struct,以及由花括号包裹的若干字段声明组成. type Person struct { Name string Gender string A ...

  4. kaldi使用cvte模型进行语音识别

    操作系统 : Unbutu18.04_x64 gcc版本 :7.4.0 该模型在thch30数据集上测试的错误率只有8.25%,效果还是不错的. 模型下载地址: http://www.kaldi-as ...

  5. 面试必问:ACID/CAP

    转载: https://www.jdon.com/artichect/acid-cap.html ACID和CAP的详尽比较 事务机制ACID和CAP理论是数据管理和分布式系统中两个重要的概念,很不巧 ...

  6. VBA 在第二个sheet中查找第一个sheet中不存在的值

    VBA 在第二个sheet中查找第一个sheet中不存在的值  Sub Macro2() ' ' Macro2 Macro ' 宏由 Lizm 录制,时间: 2019/04/10 '   ' Dim ...

  7. 百万年薪python之路 -- 并发编程之 多线程 三

    1. 阻塞,非阻塞,同步,异步 进程运行的三个状态: 运行,就绪,阻塞. 从执行的角度: ​ 阻塞: 进程运行时,遇到IO了,进程挂起,CPU被切走. ​ 非阻塞: 进程没有遇到IO 当进程遇到IO, ...

  8. 基于 HTML5 + Canvas 实现楼宇自控系统

    前言 楼宇自控是指楼宇中电力设备,如电梯.水泵.风机.空调等,其主要工作性质是强电驱动.通常这些设备是开放性的工作状态,也就是说没有形成一个闭环回路.只要接通电源,设备就在工作,至于工作状态.进程.能 ...

  9. 推荐一款优秀的WPF开源项目

    项目介绍 此项目应用了Prism MVVM框架,项目展示数据来源于其他服务程序,使用的WebAPI通信,如果要正常运行此程序,需要您自己做一个WebAPI程序,由API接口提供数据驱动,其实直接查看代 ...

  10. Java properties | FileNotFoundException: properties (系统找不到指定的文件。)

    文件存储路径的问题 错误描述 :FileNotFoundException: init.properties (系统找不到指定的文件.) 1.方法一 InputStream fis =TestProp ...