一、在Linux终端修改
语法:[root@localhost~]#mysqladmin -uroot -p’旧密码’ password ‘新密码’
例:
`[root@localhost~]#mysqladmin -uroot -p'XiaoYe@123' password 'XiaoYe@1234'`
即把原来的密码XiaoYe@123改为新密码XiaoYe@1234
MySQL密码要求:大小写、数字、字符且八位以上
改完后如果新密码不生效则重启数据库:
[root@localhost~]#systemctl restart mysql
二、在数据库中修改
语法:mysql>set password=password(‘新密码’);
例:
mysql>set password=password('XiaoYe@1234');
在数据库中分号代表一条语句的结束,空格和回车没有意义。
更改完密码注意刷新数据库:flush privileges;
注意:引号和分号是英文模式下输入,中文输入会报错
三、忘记密码时修改
在Linux配置目录下有个文件my.cnf,在里面可以修改内容使其无需密码即可登录
步骤:
1.
[root@localhost~]#vim /etc/my.cnf
[mysqld]
skip-grant-tables
注意:skip-grant-tables,跳过授权表,修改过后无论谁都可登录,一定在mysqld下更改
2.
[root@localhost~]#systemctl restart mysqld
小贴士:在配置目录下改东西一定要重启服务
3.
[root@localhost~]#mysql -uroot //无需密码
mysql>update mysql.user set authentication_string=password('XiaoYe@1234') where user='root' and host='localhost';
mysql>flush privileges;
注意:不要用2中的方法修改密码,系统会提示无需密码登录就没办法修改密码。这里用的方法是更新,同样更新完刷新数据库。
4.
[root@localhost~]#vim /etc/my.cnf
[mysqld]
#skip-grant-tables //此处将语句注释掉或者删除
注意,更新完密码一定要更改my.cnf文件,如果不更改,数据库是任何人都可以登录数据库。