新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
所以更改语句替换为 update mysql.user set authentication_string=password('quanduan') where user='test_erp' ;即可
flush privileges;
5.7版本之前修改原来密码:update mysql.user set password='这里填写你要设置的密码' where user='root';
1、启动命令行,输入: taskkill /f /im mysqld.exe //关闭mysql
2、转入mysql的bin目录下
3、输入:mysqld --skip-grant-tables // 跳过密码检测
4、输入:mysql -u root
5、原窗口不关闭,新打开一个,转入mysql的bin目录下
6 查看原来密码:select host,user,password from mysql.user;
SHOW FULL COLUMNS FROM table_name
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
grant all privileges on db_quanduan.* to 'test_erp'@'%';
附常用命令:
mysql查看所有列
SHOW FULL COLUMNS FROM table_name
备注:
修改vi /etc/my.cnf,增加skip-grant-tables可以免密码登录mysql
use mysql ;
update user set authentication_string=PASSWORD("123456") where user='root';
再次修改vi /etc/my.cnf,注释skip-grant-tables,重启mysql
mysql -uroot -p123456登录
注:mysql5.7后将password字段调整为authentication_string
Best Wish !