官网下载

mysql官网下载链接:https://dev.mysql.com/downloads/mysql/

  1. Select Operating System 中选择 “Red Hat Enterprise Linux / Oracle Linux”
  2. Select OS Version 中选择 “Red Hat Enterprise Linux / Oracle Linux 7(x86, 64-bit)”
  3. 点击Download(mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar)

CentOS7环境下的具体安装步骤

  1. 检测本地是否有mysql已存在的包:
  1. rpm -qa | grep mysql
  • 1
  1. 检测本地是否有mariadb已存在的包:
  1. rpm -qa | grep mariadb
  • 1

如果存在,则使用yum命令卸载:

  1. rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
  • 1
  1. 创建一个文件夹,上传jar包到/opt/software/mysql:
  1. mkdir /opt/software/mysql
  • 1

上传包有xftp等工具

  1. 解压mysql jar包:
  1. mkdir /opt/module/mysql
  2. tar -xvf /opt/software/mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar -C /opt/module/mysql
  • 1
  • 2
  1. 查看解压后的文件:
  1. ll /opt/module/mysql
  • 1

  1. 利用rpm包安装mysql:
    如官网所述:

In most cases, you need to install the mysql-community-server, mysql-community-client, mysql-community-libs, mysql-community-common, and mysql-community-libs-compat packages to get a functional, standard MySQL installation. To perform such a standard, basic installation, go to the folder that contains all those packages (and, preferably, no other RPM packages with similar names), and issue the following command:

依次安装MySQL的组件

  • mysql-community-common
  1. rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm
  • 1
  • mysql-community-libs
  1. rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --force --nodeps
  • 1
  • mysql-community-libs-compat
  1. rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
  • 1
  • mysql-community-client
  1. rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --force --nodeps
  • 1
  • mysql-community-server
  1. rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --force --nodeps
  • 1

安装完成后 可以查看已经安装的组件:

  1. rpm -qa | grep mysql
  • 1
  1. 启动mysql(初次启动mysqld,会自动进行初始化工作)
  1. systemctl start mysqld
  • 1

初始化后,会产生临时密码,查询指令如下:

  1. cat /var/log/mysqld.log | grep password
  • 1
  1. 登录MySQL服务:
  1. mysql -uroot -p
  • 1

输入产生的临时密码

  1. 更改密码

由于MySQL8.0 有密码验证组件,若希望设置简单的密码,需要修改服务验证条件,可设置的验证条件如官网所示:

  1. # 密码检查等级,0/LOW、1/MEDIUM、2/STRONG
  2. set global validate_password.policy=0;
  3. # 密码的最短长度
  4. set global validate_password.length=6;
  5. # 密码至少要包含的小写字母个数和大写字母个数
  6. set global validate_password.mixed_case_count=0;
  7. # 设置密码
  8. ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  1. 修改远程登录权限
  1. USE mysql;
  2. UPDATE mysql.user SET host = '%' WHERE user = 'root';
  3. flush privileges;
  4. SELECT host, user FROM user;
  • 1
  • 2
  • 3
  • 4

初始化MySQL发生错误的解决方法

使用初始化指令

  1. mysqld --initialize --user=mysql
  • 1

若发生错误,可能由于 /etc/my.cnf 中datadir指定的文件夹未清除,本机中为 /var/lib/mysql,具体的datadir查看本机配置文件中指定的路径。

  1. vim /etc/my.cnf
  • 1

删除datadir指定的文件夹

  1. rm -rf /var/lib/mysql
  • 1

清楚 log-error 指定的日志文件中的内容, 本机中为 /var/log/mysqld.log,具体的datadir查看本机配置文件中指定的路径。
注意,如果删除 /var/log/mysqld.log 了该文件,需要重新创建该文件,并修改文件访问权限

  1. rm -f /var/log/mysqld.log
  2. touch /var/log/mysqld.log
  3. chmod 777 /var/log/mysqld.log
  • 1
  • 2
  • 3

最后重新初始化即可!

忘记数据库root密码

主要通过无密码启动的方式启动mysqld服务,然后进入数据库清除原始密码的加密值,然后再次重启服务,进入数据库设置密码。

  1. 修改配置文件并重启服务
  1. vim /etc/my.cnf
  2. # 在my.cnf中最后一行添加 skip-grant-tables
  3. skip-grant-tables
  4. # 重启服务
  5. systemctl restart mysqld.service
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 进入数据库清除原始root密码的加密记录
  1. # password直接回车
  2. mysql -u root -p
  3. # 清除记录
  4. UPDATE mysql.user SET authentication_string='' WHERE user='root';
  5. SELECT host, user, authentication_string, plugin FROM mysql.user;
  1. 修改配置文件,再次重启服务,然后进入数据库设置密码
  1. vim /etc/my.cnf
  2. 删除 skip-grant-tables
  3. # 重启服务
  4. systemctl restart mysqld.service
  5. # password直接回车
  6. mysql -u root -p
  7. # 设置root密码 我的host项已经修改为%了。如果没有修改,则使用:ALTER user 'root'@'localhost' IDENTIFIED BY '123456'
  8. grant system_user on *.* to 'root';
  9. ALTER user 'root'@'%' IDENTIFIED BY '123456';
  10. # WITH mysql_native_password 这个可以根据自己需要的认证方式修改(caching_sha2_password、mysql_native_password 两种)
  11. ALTER user 'mysql.infoschema'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
  12. ALTER user 'mysql.session'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
  13. ALTER user 'mysql.sys'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
  14. # 完成修改,重启服务。
  15. systemctl restart mysqld.service

MySQL 8.0安装以及初始化错误解决方法的更多相关文章

  1. 安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above. (错误解决方法)

    安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above.  (错误解决方法) 主要是因为版本号不正确 ...

  2. mysql创建外链失败1005错误解决方法

    mysql创建外链失败1005错误解决方法 错误号:1005错误信息:Can't create table 'webDB.#sql-397_61df' (errno: 150)解决方法 错误原因有四: ...

  3. mysql中Table is read only错误解决方法

    今天再我把数据库data 拷贝到linux 下运行程序 ”mysql中Table is read only的解决“ 出现这样的问题,查询资料. linux下执行如下命令即可 #mysqladmin - ...

  4. windows 10 服务组件安装出现0x80070422错误解决方法

    问题描述:   windows 10通过控制面板->程序->启用或关闭Windows 功能安装Windows服务或组件时,出现0x80070422错误,提示服务禁止或未启用 问题产生原因: ...

  5. Navicat for mysql远程连接数据库详解(1130错误解决方法)

    用Navicat for mysql连接数据库测试下连接 如果出现1130错误 错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to ...

  6. Target runtime Apache Tomcat v6.0 is not defined.错误解决方法

    一.背景 最近在使用本地的tomcat进行运行项目的时候,发现出现了如题所述的问题.不知道什么原因,经过努力解决了该问题. 二.解决步骤 右击项目---选择属性---选择targeted runtim ...

  7. AppStore安装APP发生错误解决方法

    打开网络偏好设置 高级  -> DNS ->  +  ->  114.114.114.114

  8. MongoDB下载+安装+配置+错误解决方法

    下载 官网下载: https://www.mongodb.com/download-center/community Server=>Download 安装 下载完成后安装 建议下载根目录(下过 ...

  9. mysql(8.0连接navicat发生的错误解决方法)

    关于mysql(8.0连接navicat发生的错误解决方法)数据库安装图形化界面无法更改加密的方式导致无法连接问题为解决; Alter user 'root'@'localhost' identifi ...

随机推荐

  1. Keka 官方网址 http://www.kekaosx.com/

    Keka 官方网址 http://www.kekaosx.com/zh-cn/

  2. nginx开发:ngx_sprintf

    格式化参数%系列,如果误用的话,轻则输出不正确,重则nginx可能core. 1. 格式: %{格式描述}{输出类型描述}{数据类型描述} 2. 数据类型描述: V:字符串,对应ngx_str_t * ...

  3. NSTimer的使用

    开启定时器 @property (nonatomic, weak) NSTimer *timer; // 返回一个自动开始执行任务的定时器 self.timer = [NSTimer schedule ...

  4. Ext原码学习之Ext.js

    1 // JavaScript Document 2 //定义全局Ext变量 3 var Ext = Ext ||{}; 4 Ext._startTime = new Date().getTime() ...

  5. LVS+Keepalived 高可用群集部署

    LVS+Keepalived 高可用群集部署 1.LVS+Keepalived 高可用群集概述 2.LVS+Keepalived高可用群集部署 1.LVS+Keepalived 高可用群集概述: LV ...

  6. [翻译]Introduction to JSON Web Tokens

    JWT: Json Web Tokens JWT是一种开放标准(RFC 7519),它定义了一种紧凑且独立的方式,用于将各方之间的信息安全地传输为JSON对象.因为它是经过数字签名的,所以该信息可以进 ...

  7. JUC并发工具类之 CyclicBarrier同步屏障

    首先看看CyclicBarrier的使用场景: 10个工程师一起来公司应聘,招聘方式分为笔试和面试.首先,要等人到齐后,开始笔试:笔试结束之后,再一起参加面试.把10个人看作10个线程,10个线程之间 ...

  8. DBLink的使用(从A库使用SQL查询B库的数据)

    DBLink的使用 情景:今天我需要从A数据库查询B数据库的数据,进行一些数据比对和联合查询的操作. 所以用到的DBLink,在此记录一下使用流程,希望能够帮助下一个小白,一步到位的解决问题. 一句话 ...

  9. IDEA 端口占用,启动失败,提示Web server failed to start. Port 8080 was already in use.

    问题描述: 使用IDEA开发Spring Boot项目,今天启动提示端口占用,导致启动失败!(我昨天也是用的这个端口,可以正常启动) *************************** APPLI ...

  10. 攻防世界之Web_php_unserialize

    题目: <?php class Demo {     private $file = 'index.php';    public function __construct($file) {   ...