python学习笔记 day43 修改密码

修改密码有三种方式

首次创建一个用户  create user "xixi"@"127.0.0.1" identified by "123"    # 创建一个用户名为xixi 密码为123的用户(IP是127.0.0.1)

create user "xixi"@"%" identified by "123"  # 创建新用户 用户名xixi 密码123;

运行结果:

然后我们可以直接使用xixi 123登陆连接

如果创建了新的用户,使用这个用户名和密码登录尝试连接数据库,一直连接不成功的话(后面cmd中使用mysqladmin -uxixi -p123 password 1234 修改也不会成功的 会一直报错):

解决办法:https://blog.csdn.net/ykr168age/article/details/25193707 只需要删除匿名用户即可)

1. cmd命令行中操作:

 mysqladmin -u用户名 -p该用户的原密码 password 该用户的新密码;

然后重新登录:

     

这里我尝试了很多遍(有时候创建一下就可以成功,有时候来回弄好几遍--反正我想的是,如果创建了新的用户名,在cmd中使用mysqadmin -uxixi -p123 password 1234 修改创建用户的密码时,不成功就把匿名用户删掉  步骤:首先使用mysql -uroot -p123登录,然后use mysql -->delete from user where user="" -->flush privileges刷新权限)然后再把原来旧密码创建的连接删掉,重新使用新密码进行登陆即可;

2. 使用set passsword for "xixi"@"%" =password("1234") 修改创建用户的密码:

set password for "xixi"@"%" =password("123")  # 修改新创建的用户密码改回123(cdm中从123-->1234) 

运行结果(把使用原来密码创建的连接删掉,使用set password for "xixi"@"%"=password("123")修改的密码重新建立连接)

可以发现关闭原来的连接,再重新打开,就会报错:

 然后我们删掉原来的连接,使用正确密码重新登陆连接:

3. update mysql.user set password=password("1234") where user="xixi" and host="%"    # 直接修改核心库mysql的user表 中password字段信息

由于我们登陆数据库时用户名密码都记录在核心库mysql的user表中 所有我们可以直接修改表user的字段信息 password的值就可以啦

 我们先来看一下核心库mysql的user表中的字段信息:

 

 所以可以这样操作(直接update info set name="xixi" where id=1之前学的修改表中数据的语法)来修改新创建的用户的用户密码(只不过这里更高级,因为新创建的用户信息都保存再核心库mysql的user表中,而密码有都在user表的pasword字段中)

update mysql.user set password=password("1234") where user="xixi" and host="%"  # 使用update修改表中字段信息

运行结果(关闭原旧密码的连接,重新打开已经不行了,因为改密码了,所以删掉原来连接,重新使用新密码登录创建连接)

 

 4. 忘记root密码解决办法(未实践过)

1. 首先关闭,mysql服务: net stop mysql;

2. 跳过权限认证: mysqld --skip -grant-tables;

3. 重新打开cmd窗口 直接输入mysql(不需要输入用户名密码)

4. 修改密码: update mysql.user set password=password("123") where user="xixi" and host="%"   

5. 刷新权限 flush privileges;

talk is cheap,show me the code
原文地址:https://www.cnblogs.com/xuanxuanlove/p/9866390.html