MySQL 8.0安装以及初始化错误解决方法
MySQL 8.0 安装配置及错误排查
官网下载
mysql官网下载链接:https://dev.mysql.com/downloads/mysql/

- Select Operating System 中选择 “Red Hat Enterprise Linux / Oracle Linux”
- Select OS Version 中选择 “Red Hat Enterprise Linux / Oracle Linux 7(x86, 64-bit)”
- 点击Download(mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar)
CentOS7环境下的具体安装步骤
- 检测本地是否有mysql已存在的包:
rpm -qa | grep mysql
- 1
- 检测本地是否有mariadb已存在的包:
rpm -qa | grep mariadb
- 1
如果存在,则使用yum命令卸载:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
- 1
- 创建一个文件夹,上传jar包到/opt/software/mysql:
mkdir /opt/software/mysql
- 1
上传包有xftp等工具
- 解压mysql jar包:
mkdir /opt/module/mysql
tar -xvf /opt/software/mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar -C /opt/module/mysql
- 1
- 2
- 查看解压后的文件:
ll /opt/module/mysql
- 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
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm
- 1
- mysql-community-libs
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --force --nodeps
- 1
- mysql-community-libs-compat
rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
- 1
- mysql-community-client
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --force --nodeps
- 1
- mysql-community-server
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --force --nodeps
- 1
安装完成后 可以查看已经安装的组件:
rpm -qa | grep mysql
- 1

- 启动mysql(初次启动mysqld,会自动进行初始化工作)
systemctl start mysqld
- 1
初始化后,会产生临时密码,查询指令如下:
cat /var/log/mysqld.log | grep password
- 1
- 登录MySQL服务:
mysql -uroot -p
- 1
输入产生的临时密码
- 更改密码
由于MySQL8.0 有密码验证组件,若希望设置简单的密码,需要修改服务验证条件,可设置的验证条件如官网所示:

# 密码检查等级,0/LOW、1/MEDIUM、2/STRONG
set global validate_password.policy=0;
# 密码的最短长度
set global validate_password.length=6;
# 密码至少要包含的小写字母个数和大写字母个数
set global validate_password.mixed_case_count=0;
# 设置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 修改远程登录权限
USE mysql;
UPDATE mysql.user SET host = '%' WHERE user = 'root';
flush privileges;
SELECT host, user FROM user;
- 1
- 2
- 3
- 4
初始化MySQL发生错误的解决方法
使用初始化指令
mysqld --initialize --user=mysql
- 1
若发生错误,可能由于 /etc/my.cnf 中datadir指定的文件夹未清除,本机中为 /var/lib/mysql,具体的datadir查看本机配置文件中指定的路径。
vim /etc/my.cnf
- 1
删除datadir指定的文件夹
rm -rf /var/lib/mysql
- 1
清楚 log-error 指定的日志文件中的内容, 本机中为 /var/log/mysqld.log,具体的datadir查看本机配置文件中指定的路径。
注意,如果删除 /var/log/mysqld.log 了该文件,需要重新创建该文件,并修改文件访问权限
rm -f /var/log/mysqld.log
touch /var/log/mysqld.log
chmod 777 /var/log/mysqld.log
- 1
- 2
- 3
最后重新初始化即可!
忘记数据库root密码
主要通过无密码启动的方式启动mysqld服务,然后进入数据库清除原始密码的加密值,然后再次重启服务,进入数据库设置密码。
- 修改配置文件并重启服务
vim /etc/my.cnf
# 在my.cnf中最后一行添加 skip-grant-tables
skip-grant-tables
# 重启服务
systemctl restart mysqld.service
- 1
- 2
- 3
- 4
- 5
- 进入数据库清除原始root密码的加密记录
# password直接回车
mysql -u root -p
# 清除记录
UPDATE mysql.user SET authentication_string='' WHERE user='root';
SELECT host, user, authentication_string, plugin FROM mysql.user;
- 修改配置文件,再次重启服务,然后进入数据库设置密码
vim /etc/my.cnf
删除 skip-grant-tables
# 重启服务
systemctl restart mysqld.service
# password直接回车
mysql -u root -p
# 设置root密码 我的host项已经修改为%了。如果没有修改,则使用:ALTER user 'root'@'localhost' IDENTIFIED BY '123456'
grant system_user on *.* to 'root';
ALTER user 'root'@'%' IDENTIFIED BY '123456';
# WITH mysql_native_password 这个可以根据自己需要的认证方式修改(caching_sha2_password、mysql_native_password 两种)
ALTER user 'mysql.infoschema'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER user 'mysql.session'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER user 'mysql.sys'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 完成修改,重启服务。
systemctl restart mysqld.service
MySQL 8.0安装以及初始化错误解决方法的更多相关文章
- 安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above. (错误解决方法)
安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above. (错误解决方法) 主要是因为版本号不正确 ...
- mysql创建外链失败1005错误解决方法
mysql创建外链失败1005错误解决方法 错误号:1005错误信息:Can't create table 'webDB.#sql-397_61df' (errno: 150)解决方法 错误原因有四: ...
- mysql中Table is read only错误解决方法
今天再我把数据库data 拷贝到linux 下运行程序 ”mysql中Table is read only的解决“ 出现这样的问题,查询资料. linux下执行如下命令即可 #mysqladmin - ...
- windows 10 服务组件安装出现0x80070422错误解决方法
问题描述: windows 10通过控制面板->程序->启用或关闭Windows 功能安装Windows服务或组件时,出现0x80070422错误,提示服务禁止或未启用 问题产生原因: ...
- Navicat for mysql远程连接数据库详解(1130错误解决方法)
用Navicat for mysql连接数据库测试下连接 如果出现1130错误 错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to ...
- Target runtime Apache Tomcat v6.0 is not defined.错误解决方法
一.背景 最近在使用本地的tomcat进行运行项目的时候,发现出现了如题所述的问题.不知道什么原因,经过努力解决了该问题. 二.解决步骤 右击项目---选择属性---选择targeted runtim ...
- AppStore安装APP发生错误解决方法
打开网络偏好设置 高级 -> DNS -> + -> 114.114.114.114
- MongoDB下载+安装+配置+错误解决方法
下载 官网下载: https://www.mongodb.com/download-center/community Server=>Download 安装 下载完成后安装 建议下载根目录(下过 ...
- mysql(8.0连接navicat发生的错误解决方法)
关于mysql(8.0连接navicat发生的错误解决方法)数据库安装图形化界面无法更改加密的方式导致无法连接问题为解决; Alter user 'root'@'localhost' identifi ...
随机推荐
- mysql连接出错:ERROR 1040 (HY000): Too many connections
1.查看mysql的最大连接数:show variables like '%max_connections%'; 2. 查看服务器响应的最大连接数: 3. 设置最大连接数: set GLOBAL m ...
- Docker consul的容器服务更新与发现
Docker consul的容器服务更新与发现 目录 Docker consul的容器服务更新与发现 一.Consul简介 1. 服务注册与发现 2. consul概述 3. consul的两种模式 ...
- 痞子衡嵌入式:揭秘i.MXRT1060,1010上串行NOR Flash冗余程序启动设计
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1060,1010上串行NOR Flash冗余程序启动设计. 工业产品设计里经常会有冗余程序/备份程序设计的需求,因为在工业 ...
- Oracle - Trunc() 函数截取日期&截取数值
Oracle TRUNC函数可以截取数字和日期类型:截取日期:select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; --显示当前时间 s ...
- Solution -「牛客 NOIP 模拟赛」打拳
\(\mathcal{Description}\) 现 \(2^n\) 个人进行淘汰赛,他们的战力为 \(1\sim 2^n\),战力强者能战胜战力弱者,但是战力在集合 \(\{a_m\}\) 里 ...
- OpenHarmony移植案例与原理:startup子系统之syspara_lite系统属性部件
摘要:本文介绍下移植开发板时如何适配系统属性部件syspara_lite,并介绍下相关的运行机制原理. 本文分享自华为云社区<openharmony移植案例与原理 - startup子系统之sy ...
- win10+redhat8双系统安装(非虚拟机)
win10+redhat8双系统安装(非虚拟机) 记录这次在原有的win10系统基础上,安装了redhat 8操作系统,过程中也出现了一些状况,百度了许久,许多文章并没有效果,摸爬滚打,有了这一次的记 ...
- verification TLM传输数据导致多线程访问同一个数据
TLM传输数据导致多线程访问同一个数据 原因 TLM发送数据跟mailbox类似,都是发送的引用,这样发送端和接收端的引用都指向同一个数据,这样就会出现发送端修改数据会影响到接收端,比如发送的时候数据 ...
- CPU优化上下文切换之线程上下文切换案例分析
对于线程上下文切换,如果同进程内就是只是线程上下文切换,如果非同进程内则是进程上下文切换.下面进行线程上下文切换场景模拟. 一.环境准备~模拟工具sysbench. 1)安装git yum -y in ...
- 日行一算(Vowel-大小写转换)
题目 题目描述 solo从小就对英文字母非常感兴趣,尤其是元音字母(a,e,i,o,u,A,E,I,O,U),他在写日记的时候都会把元音字母写成大写的,辅音字母则都写成小写,虽然别人看起来很别扭,但是 ...