基于阿里云服务器mysql数据库登录设置密码的问题

303 阅读1分钟

第一次写文章,希望对你有帮助,有错误的地方也请多多指教,谢谢。

前提

1.mysql5.7 的 user表的密码字段从 password 变成了 authentication_string
2.mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码。

设置密码的方式:

在前提1的mysql版本中:

1)vi /etc/my.cnf    编辑my.cnf文件  (i :进入编辑  Esc键:退出编辑  :wq:保存并退出)
(2)插入 skip-grant-tables   【进入数据库跳过密码验证】
(3)service mysqld restart   【重启数据库】
(4)mysql  【不使用密码进入数据库】
(5)use mysql   【进入名字叫:mysql的database】
(6update user set authentication_string=password('新密码' ) where user='root';  【执行成功后退出】
(7)vi /etc/my.cnf  【在 skip-grant-tables 前加# ,注释掉该命令】
(8)service mysqld restart
(9)mysql -u root -p 
(10) 输入新设置的密码;登录成功。

在前提2的mysql版本中:(注:如果root用户没有设置密码,并且my.cnf文件中没有 skip-grant-tables 或已注释,可从第(9)步开始)

1)vi /etc/my.cnf    编辑my.cnf文件  (i :进入编辑  Esc键:退出编辑  :wq:保存并退出)
(2)插入 skip-grant-tables   【进入数据库跳过密码验证】
(3)service mysqld restart   【重启数据库】
(4)mysql  【不使用密码进入数据库】
(5)use mysql   【进入名字叫:mysql的database】
(6update user set authentication_string='' where user='root';  【把密码设置成空,执行成功后退出数据库】
(7)vi /etc/my.cnf  【在 skip-grant-tables 前加# ,注释掉该命令】
(8)service mysqld restart
(9)mysql -u root -p 
(10)因为没有密码,直接回车。
(11)use mysql   【进入名字叫:mysql的database】
(12ALTER user 'root'@'localhost' IDENTIFIED BY '新设置的密码';【修改新密码,执行成功后退出数据库】
(13)mysql -u root -p 
(14) 输入新设置的密码;登录成功。