189 8069 5689

如何解决mysql本地和远程登录不上的问题

本篇文章为大家展示了如何解决MySQL本地和远程登录不上的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联专注于浚县企业网站建设,成都响应式网站建设,购物商城网站建设。浚县网站建设公司,为浚县等地区提供建站服务。全流程按需网站开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

mysql本地登录不上的问题

本地登录不上,即忘记了密码,该如何解决呢?

首先,我们以不检查权限的方式启动mysql,如下:

1/usr/local/mysql/bin/mysqld --skip-grant-tables &

然后,就可以直接登录了,如下:

1 /usr/local/mysql/bin/mysql -u root

最后,修改密码即可。

1update user set authentication_string=PASSWORD('dequan') where User='root';

注意:在mysql5.7以及更高版本,使用authentication_string字段代替了Password字段。

mysql远程登录不上的问题

针对以检查权限的方式启动的mysql,客户端在以某用户来登录mysql时,mysql服务端会检验该用户以及该用户所在的ip是否有操作的权限。mysql可以基于用户ip、数据库、表、操作类型等维度来进行授权操作,授权的方式有修改mysql库里面的user表、执行mysql授权语句等。

1、基于修改user表来进行授权操作

如果某个ip登录不上,即在User表中没有对该ip进行授权。首先,我们看一些user表中的一些字段

Host: 127.0.0.1

User: root

Select_priv: Y

Insert_priv: Y

Update_priv: Y

Delete_priv: Y

Create_priv: Y

Drop_priv: Y

Reload_priv: Y

Shutdown_priv: Y

Process_priv: Y

File_priv: Y

Grant_priv: Y

References_priv: Y

Index_priv: Y

Alter_priv: Y

Show_db_priv: Y

Super_priv: Y

Create_tmp_table_priv: Y

Lock_tables_priv: Y

Execute_priv: Y

Repl_slave_priv: Y

Repl_client_priv: Y

Create_view_priv: Y

Show_view_priv: Y

Create_routine_priv: Y

Alter_routine_priv: Y

Create_user_priv: Y

Event_priv: Y

Trigger_priv: Y

Create_tablespace_priv: Y

ssl_type:

ssl_cipher:

x509_issuer:

x509_subject:

max_questions: 0

max_updates: 0

max_connections: 0

max_user_connections: 0

plugin: mysql_native_password

authentication_string: *89E04A681364F578C8E900403166C192A1E8E2B6

password_expired: N

password_last_changed: 2017-08-04 10:27:44

password_lifetime: NULL

account_locked: N

其中,Host为允许登录的主机名或是ip(如果为%,则代表任意ip或是主机),User登录用户,authentication_string为登录密码,*_priv为响应功能的权限,比如Select_priv为读的权限,Insert_priv写入的权限,Update_priv更新的权限,Delete_priv删除的权限。

所以,如果要允许root在某个远程主机ip1上面登录,则需要,改变对应登录用户的Host字段即可:

update user set host = 'ip1' where user = 'root';

//或者

update user set host = '%' where user = 'root';

最后更新一下权限即可

FLUSH RIVILEGES

2、基于mysql授权语句来进行授权操作

当然,mysql也提供了相应的授权语句,如下:

grant all privileges on db.table to 'user'@'host' identified by '密码' with grant option;

all privileges 代表授予所有的权限,当然我们也可以仅仅授予某些权限。最后在更新一下权限,即可

FLUSH RIVILEGES

上述内容就是如何解决mysql本地和远程登录不上的问题,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


文章标题:如何解决mysql本地和远程登录不上的问题
URL分享:http://cdxtjz.cn/article/gegjjd.html

其他资讯