曾经在windows 下安装mysql 没怎么出现过问题。而在linux下安装的时候出现了一些问题,昨天在windows 安装的时候也出现了1045 错误。就个人经历来看这个问题就是 root用户password的问题,所以将解决的方式总结例如以下:

一、mysql登录报 1045 错误

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: YES)'

我们看到上面的这个错误就是说 user 为root host为localhost的password有问题,所以我们就要看看 mysql数据库中user表中user为root,host为localhost的这个用户的password。

解决的方法:破解mysqlpassword

1、 service mysqld stop  

// 停止mysql服务



2、mysqld_safe --skip-grant-tables

// 在mysql的配置文件假设是linux(centos)则在etc/my.cnf配置文件的mysqld_safe 下天加入skip-grant-tables,假设在windows下则在安装文件夹下的my.ini 配置文件的mysqld 下加入  skip-grant-tables, skip-grant-tables是跳过授权表,这样配置之后保存
关闭,又一次启动mysql服务



3、 mysql -uroot -p  回车

// 这样就进来了,这里有两个问题。也是我遇到的两种情况,一种是user表中有user为root的用户。一种是没有,假设有则进行例如以下处理:

(1)、use mysql;

// 使用mysql数据库

(2)、 delete  from user where host="localhost" and user=" ";

// 将host为localhost下的user为空的用户都删了。事实上也能够把这里localhost改成 % 免得以后连接的时候连接不了,只是是后话在这里该不该都能够。

(3)、 update user set password=PASSWORD("newpass") where user="root";

// 假设你查询一下你会发现 mysql中的password是加密保存的,所以改动password不能向平时的sql一样 而要使用password("新password")keyword来改动password。新password为password中的字符。

(4)、 flush tables;

//数据刷到磁盘

(5)、 flush privileges;

//更新权限

(6)、quit

//退出

(7)、将配置文件里 skip-grant-tables 凝视/删掉 保存

(8)、service mysqld restart

// 再次启动服务   mysql -uroot -p新password回车 。这样应该能够了

二、 接着上面3、mysql -uroot -p  回车 进入之后use表中没数据,即创建root用户做例如以下处理:

第一种情况,就是user中有root用户可是连接不上是在windows下遇到的,而user中什么都没有是在linux(centos) 下遇到的,详细处理例如以下:

在linux下安装了mysql之后出现错误,刚開始以为就是第一种这样的情况,网上大多也都是这类文章于是就依照这篇文章进行了改动:linux下mysql 初次登陆改动password  改动之后应该没错,但再次启动服务root登录还是不行,以下的就是出现的问题和解决过程:

1、查询看有没有user 为root的用户,或这说user中有没实用户。

mysqld_safe--skip-grant-tables&mysql-uroot
mysql

mysql> select * from user;

Empty set (0.00 sec)

mysql> select USER();

+--------+

| USER()|

+--------+

| root@ |

+--------+

1 row in set (0.00 sec)

结果是没有root用户,user表里面是空的。还是第一次遇到这样的问题的。

2、插入用户信息到 user表

因为 mysqld_safe --skip-grant-tables里面是不能用grant的,于是想到了手动insert插入root用户:

**为了大家方便这里提供一些说明:第一个值是host,第二个为user这两项是必填项,password("my_password")这里进行密码的设置。MY_PASSWORD 就是新设的密码 ,而'Y'有28个。之后有1个enum和3个blob 能够为空,也就是这里的4个空字符,int类型有4个,默认值为0

INSERTINTO user VALUES('%','root',password('MY_PASSWORD'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0)

这里要基本的是第3个字段password处要用password('password')。由于mysql中password是要经过编码的,不是直接字符串保存的。

3、接着在杀掉全部mysql进程。之后正常重新启动mysql,就可以用root用户登录

到眼下个人就遇到的问题总的就这两种,希望对你实用!!

windows linux 下安装mysql 报1045 等错误的更多相关文章

  1. linux下安装php报错configure: error: Cannot find MySQL header files under /usr/include/mysql.

    linux下安装php报错configure: error: Cannot find MySQL header files under /usr/include/mysql. 2013-03-04 1 ...

  2. 【云服务器部署】---Linux下安装MySQL

    [云服务器部署]---Linux下安装MySQL 有关如何阿里云ECS建网站,推荐一片文章,我是是通过这篇文章安装tomcat和jdk的 网址:阿里云ECS建网站(建站)超详细全套完整图文教程! 注意 ...

  3. linux下安装mysql问题总结(一)mysqld_safe mysqld from pid file /usr/local/mysql/data/mysql.pid ended

    linux下安装mysql数据库 linux版本:CentOS release 6.8 (Final) mysql版本:mysql-5.7.16-linux-glibc2.5-x86_64.tar.g ...

  4. Linux下安装mysql(1)(CentOS)

    标题是(1)也就是说这次是基础安装,这种方式安装,没有组的创建,权限管理,配置文件更改等,仅仅是最基本的安装,适合第一次在linux上安装mysql的新手 1.准备好安装包(Linux-Generic ...

  5. Linux 下安装mysql 5.7

    Linux 下安装mysql 5.7 本人首次安装时按照菜鸟教程的步骤一步一步来的,结果意外的是 装成5.6了,而且各种无厘头的问题,例如无法启动... 本文参照 大佬:‘这个名字想了很久~’ 的&l ...

  6. Linux下安装mysql(2) 及常见问题解决(CentOS)

    上一篇讲了基本的安装,这篇姑且算作进阶吧 链接Linux下安装mysql(1) 1.准备好mysql的rpm安装包 2.解压并进入usr/local/mysql 3.先执行useradd mysql( ...

  7. Linux下安装mysql教程

    Linux下安装mysql  MySQL官网:https://dev.mysql.com/downloads/mysql/ 到mysql官网下载mysql编译好的二进制安装包,在下载页面Select ...

  8. Windows系统下安装MySQL 8.0.11数据库

    MySQL数据库是常用的数据库之一,而且该数据库开源免费,所以很多公司在使用.本文记录如何在Windows系统下安装MySQL数据库,本次安装的版本号为8.0.11,这个版本是当前的最新版本,据宣传, ...

  9. Linux 下安装Python报错:zlib not available

    问题描述: 在Linux下安装Python时出现一个错误:zipimport.ZipImportError: can't decompress data; zlib not available 详细错 ...

随机推荐

  1. 洛谷——P3376 【模板】网络最大流

    题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表示点的个数.有向边的个数.源点序号.汇点序号. 接下来M行每行 ...

  2. markdown入门语法

    目录 一: 标题 二:字体 三: 引用 四:分割线 五:图片 六:超链接 七:列表 九: 代码块 一: 标题 # 一级标题 ## 二级标题 ####### 最大六级标题 二:字体 1. 加粗字体 加粗 ...

  3. Java 8中你可能没听过的10个新特性

    lambda表达式,lambda表达式,还是lambda表达式.一提到Java 8就只能听到这个,但这不过是其中的一个新功能而已,Java 8还有许多新的特性——有一些功能强大的新类或者新的用法,还有 ...

  4. React Native 系列(五)

    前言 本系列是基于React Native版本号0.44.3写的.任何一款 App 都有界面之间数据传递的这个步骤的,那么在RN中,组件间是怎么传值的呢?这篇文章将介绍到顺传.逆传已经通过通知传值. ...

  5. POJ 3228 [并查集]

    题目链接:[http://poj.org/problem?id=3228] 题意:给出n个村庄,每个村庄有金矿和仓库,然后给出m条边连接着这个村子.问题是把所有的金矿都移动到仓库里所要经过的路径的最大 ...

  6. [JZYZOJ 1288][洛谷 1005] NOIP2007 矩阵取数 dp 高精度

    https://www.luogu.org/problem/show?pid=1005   dp好想,高精度练手题,有点不舒服的是前后取数位置的计算,代码量太少才会写题这么慢,noip之前虽然重点放在 ...

  7. [转]Android开发过程中遇到的问题

    例1: ‘Can't bind to local 8700 for debugger’报错和解决     1.CTS测试出现,运行startcts后,‘Can't bind to local 8700 ...

  8. VMware中网络设置之host-only

    有了前面一篇的NAT的网络设置,本文就显得非常简单了.同样图文结合的步骤: 1.设置host-only模式. 2.设置linux虚拟机的静态IP.进入linux系统,点击主菜单---系统设置---网络 ...

  9. 装饰者模式:轻松记住IO类的关系与API

    开门见山 目录 概述与模型 1.概述 含义:动态地将责任附加到对象上.若要拓展功能,装饰者提供了比继承更有弹性的替代方案. 初衷:需要动态为某一个类拓展.通常我们会使用继承,但是继承的话,会产生很多子 ...

  10. 查看linux并发连接数的方法

    查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, ...