zoukankan      html  css  js  c++  java
  • linux-mysql8的安装步骤详解及需要注意的坑

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

    前言

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

    Linuxmysql安装方法个人目前使用的有两种:

    一种是基于rpm安装;

    另一种就是在windows上将安装包下载下来,然后通过ftplrzsz等工具将包传输到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

    如图12所示,我的系统是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非常关键,如果缺少这一步,要修复初始密码报错问题会很复杂。

  • 相关阅读:
    PhpStorm (强大的PHP开发环境)2017.2.4 附注册方法
    laravel中数据库在哪个文件中配置
    php artisan 命令报错,什么命令都是这个错误,cmd下运行也不行,又没看到语法错误...
    SQL Server 2008读书笔记(4):设计SQL Server索引
    Home Dubbo Alibaba Open Sesame
    dynamic language compare great!
    java Math.round()
    regex for java example
    Pycoder's Weekly, Issue #1 Let there be light.
    使用Maven2进行单元测试_我心飞扬_百度空间
  • 原文地址:https://www.cnblogs.com/woyuwozhouxuanjiu-ningzuowo/p/11872107.html
Copyright © 2011-2022 走看看