本文目录一览:
- 1、mysql8加密规则更改
- 2、mysql修改用户加密的密码忘了怎么办
- 3、怎么改mysql下root密码?
- 4、如何修改mysql中root用户的密码
- 5、Mysql 8 root修改密码,root无需密码或任何密码都可登录原因及解决
mysql8加密规则更改
原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则改为caching_sha2_password
解决办法:
1、升级客户端
2、把mysql用户登录密码加密规则还原成mysql_native_password:
ALTER USER xxxx IDENTIFIED WITH mysql_native_password BY '新密码';
mysql修改用户加密的密码忘了怎么办
一、密码的修改:使用mysqladmin命令
1、例如你的 root用户现在没有密码,你希望的密码修改为abc,那么命令是:mysqladmin -u root password abc
2、如果你的root现在有密码了,那么修改密码为abc的命令是:mysqladmin -u root -p password youyou
注意,命令回车后会问你旧密码,输入旧密码之后命令完成,密码修改成功。
二、密码的消除
1、以root登录:mysql -u root -p
2、mysqluse mysql;
3、mysqlupdate user set password='' where user='root';
重新启动下mysql服务就可以啦。
怎么改mysql下root密码?
方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql set password for 用户名@localhost = password(‘新密码’);
例子:mysql set password for root@localhost = password(‘123’);
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql use mysql;
mysql update user set password=password(‘123’) where user=’root’ and host=’localhost’;
mysql flush privileges;
方法4:在忘记root密码的时候,可以这样
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld _skip-grant-tables 回车。_skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 。
6. 连接权限数据库: use mysql; 。
6. 改密码:update user set password=password(“123”) where user=”root”;(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
ROOT是一种存在于UNIX系统(如AIX、BSD等)和类UNIX系统(如大名鼎鼎的Linux,比如稳定到服务器都在用的Debian、适合长期作业成熟老道的Redhat、比较流行的Ubuntu和archlinux等Linux发行版以及Android系统)中的唯一的超级用户,其相当于Windows系统中的SYSTEM(XP及以下)/TrustedInstaller(Vista及以上)用户。其具有系统中所有的权限,如启动或停止一个进程,删除或增加用户,增加或者禁用硬件等等。
如何修改mysql中root用户的密码
转:
方法一使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用password函数。
方法二使用mysqladmin,这是前面声明的一个特例。 mysqladmin -u root -p password mypasswd 输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。把命令里的root改为你的用户名,你就可以改你自己的密码了。 当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin, 那么这种方法就是无效的。 而且mysqladmin无法把密码清空。下面的方法都在mysql提示符下使用,且必须有mysql的root权限:
方法三 mysql INSERT INto mysql.user (Host,User,password) VALUES('%','jeffrey',password('biscuit')); mysql FLUSH PRIVILEGES 确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。 在《mysql中文参考手册》里有这个例子,所以我也就写出来了。注意要使用password函数,然后还要使用FLUSH PRIVILEGES。
方法四 和方法三一样,只是使用了replace语句 mysql replace INto mysql.user (Host,User,password) VALUES('%','jeffrey',password('biscuit')); mysql FLUSH PRIVILEGES
方法五 使用set password语句, mysql set password for jeffrey@% = password('biscuit'); 你也必须使用password()函数, 但是不需要使用FLUSH PRIVILEGES。
方法六使用grant ... IDENTIFIED by语句 mysql grant USAGE on *.* to jeffrey@% IDENTIFIED by 'biscuit'; 这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。use mysql
update user set Password=password('newpassword') where User='root';
flush privileges;
1.通过修改MYSQL数据库中MYSQL库的USER表
就用普通的UPDATE、INSERT语句就可以
2.在命令行中使用如下命令
MYSQLADMIN -u root -p PASSWORD mypasswd
3.可以修改MYSQL文件夹中的MY.INI文件
4.使用SET PASSWORD语句,
mysql SET PASSWORD FOR myuser@localhost = PASSWORD('mypasswd');
Mysql 8 root修改密码,root无需密码或任何密码都可登录原因及解决
Ubuntu在Mysql 8.0在线安装成功后(sudo apt install),默认的root用户密码为空,默认监听本机,只能在本机登录,直接命令`mysql`即可登录 。
Centos安装完成后,可能需要密码,密码位置在
如果没有密码,或者忘记密码请在配置文件加入 skip-grant-tables ,ubuntu配置文件在 /etc/mysql/ 路径下。
注: 跳过密码后,登录进入后必须先 flush privileges 才能修改密码。
1:第一种方式
直接在用Linux命令 mysqladmin 修改。
2:第二种方式
登录mysql 更改密码
显示ok成功。
注:由于我这里没有默认安装validate_password插件,所以直接修改成功,有些默认安装的是修改不成功的,因为太简单的密码,不符合密码规则,会报错如下: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
3:关于validate_password插件
validate_password是一款密码规则插件,查看密码规则命令:
安装完成后,查看显示如下:
参数说明:
当指定密码规则后,如果嫌麻烦,直接更改密码规则即可,如偏要设置123456简单密码。
虽然改了密码,但是发现root登录仍无需登录密码,或者加参数-p输入密码时,任何密码都可以进入。
原因:查看用户插件信息
显示root插件为auth_socket,这种插件无需密码,所以设置任何密码都无效。
更改插件为 mysql_native_password 或者 caching_sha2_password
更改完成后,需重新设置root密码生效,修改方法同上。修改后,登录需要输入正确密码
注:为了提供更安全的密码加密,MySQL8.0的首选默认密码认证插件是caching_sha2_password,而不是mysql_native_password,根据自己需求选择插件
关于auth_socket插件
这种插件验证方式有以下特点:
auth_socket 这个插件因为有这些特点,它很适合我们在系统投产前进行安装调试的时候使用,而且也有相当的安全性,因为系统投产前通常经常同时使用操作系统的 root 用户和 MySQL 的 root 用户。当我们在系统投产后,操作系统的 root 用户和 MySQL 的 root 用户就不能随便使用了,这时可以换成其它的验证方式,可以使用下面的命令进行切换: