MySql:mysql修改密码及配置远程连接
阅读原文时间:2023年07月08日阅读:2

通过配置文件修改

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