自己的操作系统是ubuntu18.04,以下是自己的mysql版本:

windowslinux下安装mysql报1045等错误

先前在windows 下安装mysql
没怎么冒出过难点,而在linux下安装的时候出现了一部分标题,后天在windows
安装的时候也油然则生了1045 错误,就个人经历来看这一个主题材料就是root顾客密码的主题素材,所以将一挥而就的点子总括如下:

永利皇宫登录网址 1

一、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新密码回车 ,那样应有能够了

设置到位后,登陆mysql的时候就涌出了如下错误:

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

这里要入眼的是第三个字段密码处要用password(‘密码’),因为mysql中密码是要透过编码的,不是一向字符串保存的。

3、接着在杀死全数mysql进度,之后平常重启mysql,就能够用root客户登入

到当下个人就遭受的难题总的就那三种,希望对你有用!!

以往在windows
下安装mysql
没怎么出现过难题,而在linux下安装的时候现身了有个别主题素材,今天在windows
安装的时…

永利皇宫登录网址 2

因为设置的进度中没让设置密码,也许密码为空,但无论怎样都进不去mysql。

 

那么该如何是好吧,接下去就将以此化解格局自己总计记录一下。

step1:在ubuntu的terminal(也即终端)上输入sudo vim
/etc/mysql/mysql.conf.d/mysqld.cnf,踏入到那个布局文件,然后在这一个布局文件中的[mysqld]这一块中参预skip-grant-tables那句话。

 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

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

保存:wq,退出。输入:service mysql restart,重新起动mysql。

 

step2:在巅峰上输入mysql -uroot
-p,遇见输入密码的唤起一向回车就能够,步入mysql后,分别试行上面三句话:

1 use mysql;   然后敲回车
2 update user set authentication_string=password("你的密码") where user="root"  然后敲回车
3 flush privileges  然后敲回车

结果如下图:

永利皇宫登录网址 3

接下来输入quit,退出mysql。

网站地图xml地图