windows linux 下安装mysql 报1045 等

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

一、mysql登录报 1045 错误

mysqladmin: connect to server at ‘localhost‘ failed

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

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

解决办法:破解mysql密码

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中的密码是加密保存的,所以修改密码不能向平时的sql一样 而要使用password("新密码")关键字来修改密码,新密码为password中的字符。

(4)、 flush tables;

//数据刷到磁盘

(5)、 flush privileges;

//更新权限

(6)、quit

//退出

(7)、将配置文件中 skip-grant-tables 注释/删掉 保存

(8)、service mysqld restart

// 再次启动服务   mysql -uroot -p新密码回车 ,这样应该可以了

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

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

在linux下安装了mysql之后出现错误,刚开始以为就是第一种这种情况,网上大多也都是这类文章于是就按照这篇文章进行了修改:linux下mysql 初次登陆修改密码  修改之后应该没错,但再次启动服务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()|

+--------+

| [email protected] |

+--------+

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(‘密码‘),因为mysql中密码是要经过编码的,不是直接字符串保存的。

3、接着在杀掉所有mysql进程,之后正常重启mysql,即可用root用户登录

到目前个人就遇到的问题总的就这两种,希望对你有用!!

时间: 2024-10-11 20:42:35

windows linux 下安装mysql 报1045 等的相关文章

windows linux 下安装mysql 报1045 等错误

曾经在windows 下安装mysql 没怎么出现过问题.而在linux下安装的时候出现了一些问题,昨天在windows 安装的时候也出现了1045 错误.就个人经历来看这个问题就是 root用户password的问题,所以将解决的方式总结例如以下: 一.mysql登录报 1045 错误 mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (us

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 15:34wdjhz | 分类:服务器软件 | 浏览5318次 configure: error: Cannot find MySQL header files under /usr/include/mysql.Note that the MySQL client library is not bun

Windows 和 Linux 下安装MySql

一.windows下安装mysql 1.下载mysql包:https://dev.mysql.com/downloads/mysql/ 2.解压到特定的地方即可(当作是已安装的文件使用,我这样使用免安装的方法) 如我的习惯:D:\software 是用用来做软件安装的路径. 把mysql-8.0.17-winx64解压到这里(免安装): 3.配置环境变量(我的电脑,右键属性,高级系统设置,高级,环境变量) 新增环境变量: 变量名:MYSQL_HOME 变量值:D:\software\mysql-

[Linux基础环境/软件]Linux下安装mysql

我是使用免安装的包mysql-5.5.28-linux2.6-x86_64.tar.gz(在http://dev.mysql.com/downloads/可以下载到最新的包)的.直接解压,然后配置,初始化数据库,启动即可. 安装步骤有: 解压和建立软链: 配置文件和配置参数: 初始化数据库: 启动和关闭: 建立数据库用户和授权. 1. 解压和建立软链: #tar xzvf mysql-5.5.28-linux2.6-x86_64.tar.gz #在/usr/local目录下 #ln -s mys

MySQL Study之--Linux下安装MySQL workbench工具

MySQL Study之--Linux下安装MySQL workbench工具 系统环境:      操作系统: RedHat EL6.4(64)      WorkBench: mysql-workbench-community-6.0.9 MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具.它是著名的数据库设计工具DBDesigner4的继任者.你可以用MySQL Workbench设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移. MySQ

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.gz 在安装数据库过成中,输入启动mysql命令:/usr/local/mysql/support-files/mysql.server start 报错信息如图: 进入/usr/local/mysql/data目录下查看报错日志: 经在网上查找解决方案,折腾了一翻还是不行,后来发现在初始化数据库步骤

linux 下安装 mysql 并配置 python 开发环境

1.安装 mysql ,安装过程中将提示设置 root 用户的密码,默认可以设置为 rootadmin . $ sudo apt-get install mysql-server 2.安装 mysql 开发工具(不安装时,安装 MySQL-python 提示错误 "mysql_config not found"). $ sudo apt-get install libmysqld-dev 3.安装 python 的 mysql 库 MySQL-python (首先安装 python-d

windows 7 下安装mysql压缩包版

windows 7 下安装mysql压缩包版 版本:5.6.17 64bit 1. 将解压后的文件夹放到某个目录下,比如c:\software; 2. 在环境变量中新建MYSQL_HOME=C:\software\mysql-5.6.17-winx64,然后在系统变量Path下添上 %MYSQL_HOME%\bin: 3. 将根目录下my-default.ini拷贝一份,改名为my.ini,并修改以下部分为实际情况: # These are commonly set, remove the #

Linux下安装MySQL 5.7

本次分享如何在Linux下安装MySQL 5.7 操作系统版本:RedHat/CentOS 6.6 X64 MySQL版本:5.7.11 安装方式:二进制 MySQL下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz 安装过程: [[email protected] ~]# mkdir /data/dbwyzc -p 1.创建MySQL安装目录 2.创建一个不允许登