linux-mysql8的安装步骤详解及需要注意的坑
(本文由言念小文原创,转载请注明出处)
前言
最近安装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的安装步骤详解及需要注意的坑的更多相关文章
- 【转】postgresql 9.4 在linux环境的安装步骤详解
本文章来为各位介绍一篇关于postgresql 9.4 在linux环境的安装步骤详解,希望文章能够对各位新手朋友带来帮助的哦. 环境说明系统:centos 6.4 64位软件:postgresql ...
- Ubuntukylin-14.04-desktop( 不带分区)安装步骤详解
不多说,直接上干货! Ubuntukylin-14.04-desktop(带分区)安装步骤详解 Ubuntu14.04安装之后的一些配置 Ubuntukylin-14.04-desktop( 不带分区 ...
- Ubuntukylin-14.04-desktop(带分区)安装步骤详解
不多说,直接上干货! 成功! Ubuntukylin-14.04-desktop( 不带分区)安装步骤详解 Ubuntukylin-14.04-desktop( 不带分区)安装步骤详解 Ubuntu1 ...
- Ubuntu11.10 带图形安装步骤详解
不多说,直接上干货! 成功! 关于Ubuntu的网络设置.静态IP设置,见 Ubuntukylin-14.04-desktop( 不带分区)安装步骤详解 Ubuntukylin-14.04-desk ...
- linux PHP 编译安装参数详解
linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...
- 在linux系统下安装mysql详解,以及远程调用连接不上mysql的解决方法。
步骤: 1)查看CentOS自带的mysql 输入 rpm -qa | grep mysql 2)将自带的mysql卸载 3)上传Mysql的安装包到linux 4)安装mysql的依赖(不是必须) ...
- K2 Blackpearl 4.6.8 安装步骤详解
由于某些原因,我幼小的心灵受到了很大的创伤,倍感世态之炎凉,久久不能愈合,也因此很久没再接触K2 Blackpearl了.偶然来了兴趣,想整个K2的环境,闲暇之余了解其新功能,温故知新,也希望从中能讨 ...
- Mysql 5.7.17 解压版(ZIP版)安装步骤详解
下载 解压版下载地址(需要登录) :http://dev.mysql.com/downloads/mysql/ 下载后解压到你想要安装的目录就可以了 配置环境变量 为了方便使用,不必每次都进入bin目 ...
- Linux下Mysql安装教程详解
Linux下软件安装一般有三种方式:RPM包方式(通过Redhat 第三方包管理系统).二进制包和源码包.本篇主要介绍二进制包安装mysql数据库的方式. 如何获取二进制源码包 当然是到mysql官网 ...
随机推荐
- Java工程师学习指南(初级篇)
Java工程师学习指南 初级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...
- ZGC gc策略及回收过程-源码分析
源码文件:/src/hotspot/share/gc/z/zDirector.cpp 一.回收策略 main入口函数: void ZDirector::run_service() { // Main ...
- JDBC-第1篇-基础
话不多说,直接开撸代码. 1.首先自己的环境使用的是maven项目+idea工具+mysql8.0.18 (使用maven项目的好处就是方便,不用手动导入相关的驱动包,在pom.xml配置即可) 2. ...
- mvc请求管道(一)
一.前言 在平常做后台开发的时候,经常会说到请求管道,很多开发者都知道这个,也能说几句,可能没法详细的去介绍,今天就来详细的说一下这个. 二.到达IIS之前 请看下面这个流程图.从用户打开浏览器到请求 ...
- Web渗透之mssql LOG备份getshell
log备份的总结 当SQL注入是得到DB权限时候,接下来可以做的工作很多,象找管理员密码,后台管理这些都可以帮助你拿到WEBSHELL,但是这篇文章讲的是log备份,LOG备份出来的小马的体积小,而且 ...
- 浅谈爬虫 《一》 ===python
浅谈爬虫 <一> ===python ‘’正文之前先啰嗦一下,准确来说,在下还只是一个刚入门IT世界的菜鸟,工作近两年了,之前做前端的时候就想写博客来着,现在都转做python了,如果还 ...
- 详解Java Web项目启动执行顺序
一. web.xml加载过程(步骤): 启动web项目,容器(如Tomcat.Apache)会去读取它的配置文件web.xml 中的两个节点,context-param和listener. 紧接着,容 ...
- Spring Cloud ---- 服务消费与负载均衡(Rest + Ribbon )
上一篇主要写了基于Eurake的服务的注册,主要就是创建注册中心,创建服务者,将服务者注册到注册中心,完成服务的暴露.这一篇主要写服务的消费与服务消费的负载均衡. 服务的调用方式有两种,Rest + ...
- zepto源码分析·整体架构
代码数量 1.2.0版本代码量为1650行,去掉注释大概1500左右 代码模块 默认版本只包括核心模块,事件模块,ajax模块,form模块和ie模块,其它模块需要自行拓展加入,其中form模块只包含 ...
- django-模型之从数据库获取数据(二)
1.获取一条数据(字段值必须唯一) 2.条件查询filter 3.排除查询exclude 4.链式查询 5.查询后进行排序order_by 6.按字段查询values 7.插入数据create 8.数 ...