Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Mysql cannot connect to the solution remotely

2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >

Share

Shulou(Shulou.com)06/01 Report--

Preface

Mysql version: 5.7.23

Operating system: Linux

Problem description:

Only through the Linux system account Root command line to enter the database, can not use JDBC, remote connection tool to enter the database.

Error report: ERROR 1698 (28000): Access denied for user 'root'@'localhost'

The obvious problem is that there is no open remote connection authorization, so you can only log in using Linux's Root account.

Resolution proc

1. Find the / etc/mysql/mysql.conf.d/mysqld.cnf file and add skip-grant-tables at the end of [mysqld]

# # 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 r am [mysqld _ safe] socket = / var/run/mysqld/mysqld.socknice = 0 [mysqld] # # * Basic Settings#user = mysqlpid-file = / var/run/mysqld/mysqld.pidsocket = / var/run/mysqld/mysqld.sockport = 3306basedir = / usrdatadir = / var/lib/mysqltmpdir = / tmplc-messages-dir = / content added by usr/share/mysqlskip-external-locking# Enable skip permission check 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 permission # * Fine Tuning#key_buffer_size = 16Mmax_allowed_packet = 16Mthread_stack = 192Kthread_cache_size = skipping This replaces the startup script and checks MyISAM tables if needed# the first time they are touchedmyisam-recover-options = BACKUP#max_ Connections = 100#table_open_cache = 64#thread_concurrency = 10 years # * Query Cache Configuration#query_cache_limit = 1Mquery_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 runtimetries general generalizations logbooks file = / var/log/mysql/mysql.log#general_log = 1percent # 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.logexpire_logs_days = 10max_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 manybirds # * Security Features## Read the manual, too, if you want chrootones # 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

After saving, restart the service sudo service mysql restart.

two。 Enter mysql database without verification to modify root account information in user table, flush privileges

Ckmike@ckmikePC:~$ mysqlWelcome to the MySQL monitor. Commands end with; or\ g.Your MySQL connection id is 2Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or'\ h' for help. Type'c'to clear the current input statement.mysql > use mysqlReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with-ADatabase changedmysql > update mysql.user set authentication_string=password ('account password') where user='root';Query OK, 0 rows affected, 1 warning (0.03 sec) Rows matched: 3 Changed: 0 Warnings: 1mysql > update user set plugin= "mysql_native_password"; Query OK, 1 row affected (0.00 sec) Rows matched: 7 Changed: 1 Warnings: 0mysql > flush privileges Query OK, 0 rows affected (0.00 sec) mysql > quitBye

3./etc/mysql/mysql.conf.d/mysqld.cnf file. Remove skip-grant-tables and enable check.

4. Restart the service

Sudo service mysql restart; is done at this point, and you can log in using both jdbc and non-Linuxroot accounts.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Database

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report