针对root用户:
1、编辑/etc/my.cnf文件,在my.cnf文件中添加跳过密码校验语句;
skip-grant-tables
文件地址:linux跟路径的/etc下
添加跳过密码校验代码的位置和代码示例:
添加完成保存退出,直接使用mysql即可登录mysql数据库;
2,修改root过程:
1 进入MySql控制台(直接按回车,这时不需要输入root密码。)
mysql -uroot -p
2 切换到mysql数据库
mysql>use mysql;
3 修改mysql数据库中root的密码
mysql> update user set password=password(“填入新密码”) where user=‘root’;
这里不同的数据库版本会有不同:mysql,5.7之前的版本是password字段,5.7之后该字段改为了authentication_string
这里可以用:desc 表明;查看表结构确认具体字段信息
如果报如下信息就是字段信息为authentication_string
报错信息:
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
原因:
是从mysql 5.7开始,password字段被替换为了authentication_string
修改:
update user set authentication_string=password('填入新密码”') where user='root';
3,修改完一定要刷新,一定一定一定;
1》刷新mysql权限
mysql> flush privileges;
2》退出
mysql> exit;
4,把刚才的免密语句删除!这个时候就可以愉快的使用root用户了!
使用root用户修改普通用户密码
使用root用户登录,root用户有对mysql.user表的管理权限
root用户修改普通用户的密码
GRANT语句
使用GRANT语句,修改普通用户密码
GRANT语句,不仅可以创建用户为用户授权,还可以修改用户的密码
通常情况下,为了不影响当前账户的权限,可以使用GRANT USAFE语句,修改指定用户的密码
语法格式
GRANT USAFE ON . TO ‘username’@’localhost’ IDENTIFIED BY [PASSWORD] ‘new_password’;UPDATE语句
使用UPDATE语句,修改普通用户的密码
root用户,拥有操纵数据库的所有权限,不仅可以修改自己的密码,还可以修改普通用户的密码语法格式
UPDATE mysq.user set password=PASSWORD(‘new_password’)
WHERE user=’username’ and host=’hostname’;
注意,修改完成之后,需要使用FLUSH PRIVILEGES语句,重新加载权限表SET语句
使用SET语句,修改普通用户的密码
使用SET不仅可以修改root用的密码,还可以修改普通用户的密码
在修改普通用户的密码时,需要增加一个FOR子句,用于指定要修改哪个用户语法格式
SET PASSWORD FOR ‘username’@’hostname’=PASSWORD(‘new_password’);