linux mysql 无法识别,Linux下MySQL 5.7.23无法远程连接解决方案
MySQL 版本:5.7.23操作系統(tǒng):Linux問題描述:只能通過Linux系統(tǒng)賬號Root命令行進(jìn)入數(shù)據(jù)庫,無法使用JDBC,遠(yuǎn)程連接工具進(jìn)入數(shù)據(jù)庫。報錯:ERROR 1698 (28000): Access denied for user 'root'@'localhost'這個問題明顯就是沒有開放遠(yuǎn)程連接授權(quán),所以導(dǎo)致只能使用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.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 = /usr/share/mysqlskip-external-locking# 加入的內(nèi)容,開啟跳過權(quán)限校驗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 = 16Mmax_allowed_packet = 16Mthread_stack = 192Kthread_cache_size = 8# 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## * 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 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.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 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
保存后,重啟服務(wù)sudo service mysql restart.
2.無驗證進(jìn)入mysql數(shù)據(jù)庫修改user表中root賬號信息,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 -A
Database changedmysql 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 quitBye
3./etc/mysql/mysql.conf.d/mysqld.cnf文件,去掉skip-grant-tables,開啟校驗
4.重啟服務(wù)
sudo service mysql restart;
至此就搞定了,使用jdbc、非Linux root賬號都可以登錄了。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新鏈接地址:https://www.linuxidc.com/Linux/2018-11/155584.htm
MongoDB 4.0 Sharded Cluster部署 Linux系統(tǒng)下virtuoso數(shù)據(jù)庫安裝與使用
總結(jié)
以上是生活随笔為你收集整理的linux mysql 无法识别,Linux下MySQL 5.7.23无法远程连接解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女生个性签名生气
- 下一篇: php div图片局部刷新,前端jque