曾经在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. 第10天-JavaScript正则表达式

    正则有什么用 给定的字符串是否符合正则表达式的过滤逻辑 通过正则表达式,从字符串中获取我们想要的特定部分 替换字符串满足正则表达式的字符 例如:验证邮箱.手机号.银行卡.采集器(爬虫).中奖信息133 ...

  2. POJ3450 Corporate Identity

    后缀数组. 解决多个字符串的最长公共子串. 采用对长度的二分,将子串按height分组,每次判断是否在每个字符串中都出现过. 复杂度O(NlogN) By:大奕哥 #include<cstrin ...

  3. Android Studio NDK开发浅谈

    环境: Android Studio 1.1.0 NDK-r10d 1.新建项目--->包名:com.mxl.az.ndk 新建包含native方法的类:JniOperation.class p ...

  4. spark1.0.0 mllib机器学习库使用初探

    本文机器学习库使用的部分代码来源于spark1.0.0官方文档. mllib是spark对机器学习算法和应用的实现库,包括分类.回归.聚类.协同过滤.降维等,本文的主要内容为如何使用scala语言创建 ...

  5. bzoj 1503: [NOI2004]郁闷的出纳员 -- 权值线段树

    1503: [NOI2004]郁闷的出纳员 Time Limit: 5 Sec  Memory Limit: 64 MB Description OIER公司是一家大型专业化软件公司,有着数以万计的员 ...

  6. bzoj 1143: [CTSC2008]祭祀river / 2718: [Violet 4]毕业旅行 -- 二分图匹配

    1143: [CTSC2008]祭祀river Time Limit: 10 Sec  Memory Limit: 162 MB Description 在遥远的东方,有一个神秘的民族,自称Y族.他们 ...

  7. SqlServer项目经验:介质集有2个介质簇,但只提供了1个。必须提供所有成员

    在对数据库备份与还原的过程中,我遇到一个问题“介质集有2个介质簇,但只提供了1个.必须提供所有成员”,下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两 ...

  8. ReactNative-地图导航-iOS

    需求描述 项目中,要求接入导航功能,包括“百度map.高德map”. 方案分析 原生开发角度分析 从原生开发的角度分析的话,常规的思路可能是 分别取百度.高德官网,下载对应的SDK然后集成到本地: 创 ...

  9. eclipse.ini 文件使用说明

    http://wiki.eclipse.org/Eclipse.ini Overview Eclipse startup is controlled by the options in $ECLIPS ...

  10. How to run WPF – XBAP as Full Trust Application

    Recently I work on WPF-XBAP application that will run from intranet website: This application must h ...