第一步:
linux:
修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables
windows:
修改mysql的配置文件my.ini,在最后一行添加:skip-grant-tables
第二步:重启mysql数据库后,再次登录将不需要密码,然后修改名称叫做mysq的database的user表:
命令:use mysql;
mysql5.5 / 5.6系列修改root默认密码:
update user set password=password("123456") where user="root";
mysql5.7系列修改root默认密码:
update user set authentication_string = password('123456'), password_expired = 'N', password_last_changed = now() where user = 'root';
mysql8系列修改root默认密码:
alter user 'root'@'localhost' identified by '123456';
第三步:
windows环境下,需要刷新权限:
表示密码已经设置,但这时候密码还没有生效,还需要刷新一下权限:
flush privileges;
刷新权限后再次登录就需要密码,如果不刷新权限就需要重启服务。
另外:如果需要远程访问数据库的权限,需要设定防火墙和root的访问权限。
-
防火墙开启3306端口的访问权限
-
修改mysql的user表中root的访问权限
a. 直接修改root的访问权限:update user set host = '%' where user = 'root';
b. 增加一个rong的访问权限:
grant all privileges on *.* to root@'%' indentified by '123456' with grant option;
-
刷新权限:
flush privileges;