mysql 5.7 修改密码错误_mysql 5.7 安装及修改/重置密码

本文详细介绍了在Linux系统上安装MySQL 5.7的步骤,包括卸载旧版本、下载安装包、启用YUM源、安装MySQL、设置初始密码、重置密码以及开启远程连接的全过程。此外,还提供了多种修改密码的方法,并强调了密码策略的重要性。
摘要由CSDN通过智能技术生成

1、mysql安装检查:yum list installed | grep mysql

如果已经有的话执行命令yum -y remove mysql-libs.x86_64卸载已经安装的mysql。

2、先到mysql官网http://dev.mysql.com/downloads/mysql/下载5.7的安装包,download-yum选择Red Hat Enterprise Linux 7 / Oracle Linux 7 (ArchitectureIndependent), RPM Package ,

进入系统下载安装包:

wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

如果新的系统还没有wget命令的话可以先:

yum install wget

3、添加选择yum源:

yum localinstall mysql57-community-release-el7-7.noarch.rpm

yum repolist all | grep mysql

```

4、安装mysql:

```

yum install mysql-community-server

```

5、安装完成之后会自动在log中生成连接的密码,

启动mysql:

```

#service mysqld start

```

查看密码:

```

#cat /var/log/mysqld.log |grep password

>2016-08-23T02:33:48.872073Z 1 [Note] A temporary password isgenerated for root@localhost: %IrczkB+J7Ez

```

你必须重新设置密码才能执行语句

```

[root@mysqlA ~]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.7.14

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

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

mysql> show databases;

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

>ALTER USER USER() IDENTIFIED BY '需要设置安全等级很高的密码,否则报错';

#或者如下:

>ALTER USER 'root'@'localhost' identified by '需要设置安全等级很高的密码,否则报错' password expire never;

```

```

#这个错误是因为密码太简单

RROR 1819 (HY000): Your password does not satisfy the current policy requirements

```

6、重置 5.7 的密码很简单:

1) 修改/etc/my.cnf,在 [mysqld] 小节下添加一行:`skip-grant-tables=1`

这一行配置让 mysqld 启动时不对密码进行验证

2) 重启mysqld 服务:`service mysqld restart`

3) 使用 root 用户登录到 mysql:`mysql -u root `

4) 切换到mysql数据库,更新 user 表:

```

update user set authentication_string = password('123456'),password_expired = 'N', password_last_changed = now() where user = 'root';

```

在之前的版本中,密码字段的字段名是 `password`,5.7版本改为了 `authentication_string`

5) 退出 mysql,编辑 `/etc/my.cnf` 文件,删除 `skip-grant-tables=1`的内容

7、重启mysqld 服务,再用新密码登录即可

```

[root@mysqlA ~]# mysql -V

mysql Ver 14.14 Distrib5.7.14, for Linux (x86_64) using EditLine wrapper

```

8、允许远程连接

```

mysql> select user,host from mysql.user;

+-----------+-----------+

| user | host |

+-----------+-----------+

| mysql.sys | localhost |

| root | localhost |

+-----------+-----------+

2 rows in set (0.00 sec)

mysql>grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;

```

9、修改密码多种方法

方法1: 用`SET PASSWORD`命令

```

mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

```

方法2:用`mysqladmin`

```

mysqladmin -u root password "newpass"

#如果root已经设置过密码,采用如下方法

mysqladmin -u root password oldpass "newpass"

```

方法3: 用UPDATE直接编辑user表

```

mysql -u root

mysql> use mysql;

mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

mysql> FLUSH PRIVILEGES;

```

在丢失root密码的时候,可以这样

```

mysqld_safe --skip-grant-tables&

mysql -u root mysql

mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

mysql> FLUSH PRIVILEGES;

```

方法4: 使用ALTER USER修改用户信息

```

ALTER USER 'root'@'localhost'

IDENTIFIED BY 'new_password' PASSWORD EXPIRE NEVER;

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值