通过配置文件修改
mysql5.7 mysql库下面的user表没有password字段无法修改密码,5.7版本已经不再使用password来作为密码的字段了 而改成了authentication_string
登录报错
[root@master1 ~]# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
修改配置文件
#查看my.cnf文件 vi /etc/mysql/my.cnf #文件内有引用mysqld.cnf.d文件 #切换目录 cd /etc/mysql/mysqld.cnf.d #修改mysqld.cnf文件 vi mysqld.cnf #在mysqld模块下添加(越过验证) skip-grant-tables
修改密码
#登录mysql #mysql -u debian-sys-maint -p
mysql -u root -p #指定数据库 use mysql; #修改密码 update mysql.user set authentication_string=password('123456') where user = 'root'; #刷新权限 flush privileges;
还原mysqld.cnf文件
#vi mysqld.cnf #注释掉下面配置 skip-grant-tables #重启mysql服务 systemctl restart mysql
登录mysql数据库
方式一:配置远程登录用户
#登录mysql mysql -u root -p #指定数据库 use mysql; #查看用户信息 select User,authentication_string,Host from user; #添加用户 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' ; #这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址 #刷新 flush privileges;
方式二:配置文件远程访问
#修改mysql配置文件 cd /etc/mysql/mysql.conf.d vi mysqld.cnf #修改如下语句 将如下 bind-address = 127.0.0.1 修改成 bind-address = 0.0.0.0