我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Mysql无法远程连接解决方案

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Mysql无法远程连接解决方案

前言

Mysql 版本:5.7.23
操作系统:Linux
问题描述:
只能通过Linux系统账号Root命令行进入数据库,无法使用JDBC,远程连接工具进入数据库。
报错:ERROR 1698 (28000): Access denied for user 'root'@'localhost'
这个问题明显就是没有开放远程连接授权,所以导致只能使用Linux的Root账号登录。

解决流程

1.找到/etc/mysql/mysql.conf.d/mysqld.cnf文件,在[mysqld]最后面加skip-grant-tables

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
#
# * Basic Settings
#
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
# 加入的内容,开启跳过权限校验
skip-grant-tables
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size     = 16M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
#max_connections        = 100
#table_open_cache       = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit   = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#slow_query_log     = 1
#slow_query_log_file    = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id      = 1
#log_bin            = /var/log/mysql/mysql-bin.log
expire_logs_days    = 10
max_binlog_size   = 100M
#binlog_do_db       = include_database_name
#binlog_ignore_db   = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem

保存后,重启服务sudo service mysql restart.

2.无验证进入mysql数据库修改user表中root账号信息,flush privileges;

ckmike@ckmikePC:~$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.23-0ubuntu0.18.04.1 (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update mysql.user set authentication_string=password('账号密码') where user='root';
Query OK, 0 rows affected, 1 warning (0.03 sec)
Rows matched: 3  Changed: 0  Warnings: 1

mysql> update user set plugin="mysql_native_password";
Query OK, 1 row affected (0.00 sec)
Rows matched: 7  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

3./etc/mysql/mysql.conf.d/mysqld.cnf文件,去掉skip-grant-tables,开启校验

4.重启服务

sudo service mysql restart;

至此就搞定了,使用jdbc、非Linuxroot账号都可以登录了。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Mysql无法远程连接解决方案

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

windows7没法被远程连接解决方案

windows7没法被远程连接怎么办,其实远程连接这个功能是比较少用户主动使用的功能,此功能比较鸡肋,并且对用户网络要求比较高,可是用户想要知道的话那就告诉大家有关windows7没法被远程连接解决方案,根据进入计算机属性能够进一步设定,而
2023-07-12

MySQL8.0无法远程连接访问的解决方法

问题:mysql 8.0 无法远程连接访问原因:可能是mysql数据库user表中,用户的 host 字段配置是不允许当前host访问或者是访问的加密方式不对,旧版的MySQL和新版的密码加密方式不一致,但是很多企业和个人都习惯使用旧版
2023-01-28

阿里云数据库无法远程连接问的解决方案

阿里云数据库是一种高性能、高可用的云计算数据库服务,它能够提供强大的数据处理能力,满足各种复杂业务场景的需求。然而,在使用过程中,可能会遇到一些问题,如无法远程连接阿里云数据库。本文将详细介绍如何解决这个问题。首先,我们来了解一下阿里云数据库无法远程连接的原因。主要有以下几个方面:网络问题:如果阿里云数据库所在的
阿里云数据库无法远程连接问的解决方案
2023-11-16

Navicat Premiun远程连接MySQL报错10038解决方案

远程连接MySQL失败,可能有一下原因: 1、小伙子/小姑凉注意一下你的ip是否输入正确了!! 2、网络或防火墙问题1)、排查网络问题使用命令:ping 192.168.1.1 查看网络请求是否超时。正常接收数据进行下一步排查2)、排查云服
2022-05-21

解决无法远程连接MySQL服务的问题

① 设置MySQL中root用户的权限: [root@nginx-dev etc]# mysql -uroot -pRoot@123mysql> use mysql;mysql> GRANT ALL PRIVILEGES ON *.* TO
2023-08-30

阿里云MySQL无法远程连接服务器地址的解决方法

在使用阿里云MySQL时,有时会遇到无法远程连接服务器地址的问题,这给数据库的管理与操作带来了不便。本文将为您介绍一些常见的原因以及相应的解决方法,帮助您快速恢复MySQL的远程连接功能。解决方法:1.检查MySQL配置文件首先,我们需要检查MySQL的配置文件(通常为my.cnf或my.ini)中的bind-a
阿里云MySQL无法远程连接服务器地址的解决方法
2024-01-18

电脑远程连接云服务器无法连接网络的解决方法

1.检查网络连接首先,确保你的电脑本身已经成功连接到互联网。检查你的网络连接状态,确保你的电脑已经连接到一个可用的网络,并且能够正常访问其他网站。2.检查云服务器网络设置如果你的电脑已经成功连接到互联网,但是无法远程连接到云服务器,那么可能是云服务器的网络设置有问题。你可以按照以下步骤检查和修复网络设置:登录到云服务器
电脑远程连接云服务器无法连接网络的解决方法
2023-10-28

MySQL 1130异常,无法远程登录解决方案详解

目录问题:一、开启远程登录权限:二、刷新MySQL权限:三、测试:问题: mysql:1130 is not allowed to connect to this MariaDB server(没有远程登录权限,注:这里的MariaDB 是
2022-05-21

Win10Xbox无法连接网络该怎么办?Xbox无法连接网络解决方案

许多客户使用Xbox,作为win10系统内置的平台游戏和应用,广泛用于视频录制和游戏下载。可是有Win10客户体现自身在应用全过程中碰到无法连接网络的状况,这应该怎么办?下边大家就一起来看看Xbox无法连接网络的解决方案。Xbox无法连接网
2023-07-10

连接mysql报1130.解决方案

一、以权限用户root登录mysql -u root -p二、选择mysql库mysql>use mysql;三、查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)mysql>select "host" from user wher
连接mysql报1130.解决方案
2015-01-02

编程热搜

目录