windowslinux下安装mysql报1045等错误

因为安装的过程中没让设置密码,/etc/mysql/mysql.conf.d/mysqld.cnf,而在linux下安装的时候出现了一些问题,root用户密码的问题,1、编辑MySQL配置文件my.cnf,编辑文件,破解mysql密码,&gt

因为设置的历程中没让设置密码,可能密码为空,但不论怎么着都进不去mysql。

一、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新密码回车 ,这样应有可以了

上边十二分简短的点子用来重新设置密码:

实行下列语句

 1 [mysqld]
 2 #
 3 # * Basic Settings
 4 #
 5 user              = mysql
 6 pid-file          = /var/run/mysqld/mysqld.pid
 7 socket           = /var/run/mysqld/mysqld.sock
 8 port              = 3306
 9 basedir          = /usr
10 datadir          = /var/lib/mysql
11 tmpdir          = /tmp
12 lc-messages-dir   = /usr/share/mysql
13 skip-external-locking
14 character-set-server=utf8
15 collation-server=utf8_general_ci
16 # skip-grant-tables

windowslinux下安装mysql报1045等错误

在此早先在windows 下安装mysql
没怎么冒出过难点,而在linux下安装的时候现身了某个难题,前些天在windows
安装的时候也出现了1045 错误,就个人经验来看这几个主题素材正是root客户密码的标题,所以将一下子就解决了的主意总计如下:

OK。就好像此轻便。

3、登入数据库重新安装root密码

图片 1

二、 接着上面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_PASSWOPAJEROD
正是新设的密码 ,而’Y’有叁12个,之后有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)

此间要器重的是第1个字段密码处要用password(‘密码’),因为mysql中密码是要通过编码的,不是平素字符串保存的。

3、接着在杀死所有mysql进度,之后经常重启mysql,就能够用root客户登陆

到这几天个人就超出的难点总的就这三种,希望对你有用!!

以前在windows
下安装mysql
没怎么现身过难题,而在linux下安装的时候现身了部分主题材料,后天在windows
安装的时…

  mysql -uroot -p #进入mysql控制台

skip-grant-tables

再回到终端输入mysql -uroot -p,应该就能够进来数据库了。

  mysql -uroot -p #直接按回车,那个时候无需输入root密码。

解决办法:破解mysql密码
命令行方式下输入
#> service mysqld stop
#>mysqld_safe –skip-grant-tables &
输入 mysql -uroot -p 回车步入
>use mysql;
> update user set password=PASSWORD(“newpassword”)where
user=”root”;
改动密码为 newpassword
> flush privileges; 更新权限
> quit 退出

 

  vi /etc/my.cnf 编辑文件,找到[mysqld],删除skip-grant-tables这一行
:wq! #保存退出

大器晚成、mysql登陆错误

step4:如若当时大概报出错误,那么就须求回到step3中,把注释掉的那条语句再一次生效(就是去除#标志卡塔尔,重新步向mysql中,先接受一个数据库(use
mysql卡塔尔,然后输入select user,plugin from user,看下图:

5、重启mysql

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.47-log Source distribution

功效就是让您能够绝不密码登入进去mysql。

2、进入MySQL控制台

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input
statement.

接下来输入quit,退出mysql。

3、修改root密码

#>service mysqld restart
#> mysql -uroot -p新密码步入

从图中得以看出在试行了select user,plugin from
user后,错误原因是因为plugin
root的字段是auth_socket,那大家改掉它为上边包车型地铁mysql_native_password就行了。输入:

  service mysqld restart
#重启mysql,那个时候mysql的root密码已经校勘为123456

1、编辑/etc/my.cnf