Heim Datenbank MySQL-Tutorial ERROR 2049 (HY000): Connection using old (pre-4.1.1)

ERROR 2049 (HY000): Connection using old (pre-4.1.1)

Jun 07, 2016 pm 04:42 PM

测试环境新装了MySQL服务器,在登陆时无法成功登陆。其提示为使用的旧的认证协议而被拒绝。其具体的错误提示为ERROR 2049 (HY000

测试环境新装了MySQL服务器,在登陆时无法成功登陆。其提示为使用的旧的认证协议而被拒绝。其具体的错误提示为ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)以下是关于这个问题的描述及其解决方案,供大家参考。

1、故障现象
[root@HKBO ~]# mysqladmin -u root password 'Mysqlxxx'
[root@HKBO ~]# mysql -uroot -p
Enter password:
ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)

 

2、有关secure_auth参数

  • Command-Line Format --secure-auth

    System Variable Name

    Variable Scope Global

    Dynamic Variable Yes

    Permitted Values (Type boolean

    Default OFF

    Permitted Values (>= 5.6.5) Type boolean

    Default ON

    This option causes the server to block connections by clients that attempt to use accounts that have passwords stored in the old (pre-4.1) format. Use it to prevent all use of passwords employing the old format (and hence insecure communication over the network). Before MySQL 5.6.5, this option is disabled by default. As of MySQL 5.6.5, it is enabled by default; to disable it, use .

    Server startup fails with an error if this option is enabled and the privilege tables are in pre-4.1 format. SeeSection B.5.2.4, “Client does not support authentication protocol”.

    Theclient also has aoption, which prevents connections to a server if the server requires a password in old format for the client account.

    Note

    Passwords that use the pre-4.1 hashing method are less secure than passwords that use the native password hashing method and should be avoided. Pre-4.1 passwords are deprecated and support for them will be removed in a future MySQL release. Consequently, disabling secure authentication usingis also deprecated.

  •  

    3、分析及解决

    #查看当前的配置文件
    [root@HKBO ~]# grep -v ^# /etc/my.cnf
    [mysqld]
    datadir=/opt/data
    socket=/tmp/mysql.sock
    user=mysql
    old_passwords=1 

    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

    #old_passwords
    #This variable controls the password hashing method used by the PASSWORD() function.
    #It also influences password hashing performed by CREATE USER and GRANT statements that specify a password using an IDENTIFIED BY clause.
    #当值为1的使用正好使用的是Pre-4.1 (“old”) hashing mysql_old_password 旧密码方式,因此先将其禁用

    [root@HKBO ~]# vi /etc/my.cnf

    #如下,禁用后的old_passwords
    [root@HKBO ~]# grep old_passwords /etc/my.cnf
    #old_passwords=1

    #重启mysql
    [root@HKBO ~]# service mysqld stop
    Shutting down MySQL.[  OK  ]

    [root@HKBO ~]# service mysqld start
    Starting MySQL..[  OK  ]

    #登陆还是出现同样的提示
    [root@HKBO ~]# mysql -uroot -p
    Enter password:
    ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)

    #下面尝试使用--secure_auth=off登陆,提示需要改变密码到新格式
    [root@HKBO ~]# mysql -uroot -p --secure_auth=off
    Enter password:
    ERROR 1275 (HY000): Server is running in --secure-auth mode, but 'root'@'localhost' has a password in the old format; please change the password to the new format

    #下面我们增加secure-auth=off到配置文件
    [root@HKBO ~]# grep secure-auth /etc/my.cnf
    secure-auth=off

    #再次重启mysql
    [root@HKBO ~]# service mysqld stop
    Shutting down MySQL.[  OK  ]
    [root@HKBO ~]# service mysqld start
    Starting MySQL.[  OK  ]

    #此时可以透过--secure_auth=off方式登陆
    [root@HKBO ~]# mysql -uroot -p --secure_auth=off
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.6.12 Source distribution

    Copyright (c) 2000, 2013, 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> set password for 'root'@'localhost' =password('Mysqlxxx');
    Query OK, 0 rows affected, 1 warning (0.01 sec)

    mysql> exit
    Bye

    #通过上述操作后还是无法登陆,依旧需要使用--secure_auth=off方式才能登陆

    #查看缺省的mysql客户端
    [root@HKBO ~]# which mysql
    /app/soft/mysql/bin/mysql

    [root@HKBO ~]# /app/soft/mysql/bin/mysql -uroot -p
    Enter password:
    ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)

    [root@HKBO ~]# /app/soft/mysql/bin/mysql --version
    /app/soft/mysql/bin/mysql  Ver 14.14 Distrib 5.6.12, for Linux (x86_64) using  EditLine wrapper

    [root@HKBO ~]# whereis mysql
    mysql: /usr/bin/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

    #/usr/bin下也有一个mysql客户端,其版本为5.0.95
    [root@HKBO ~]# /usr/bin/mysql --version
    /usr/bin/mysql  Ver 14.12 Distrib 5.0.95, for RedHat-linux-gnu (x86_64) using readline 5.1

    #经排查,当前主机有旧版的mysql
    [root@HKBO mysql]# rpm -qa | grep -i mysql
    mysql-5.0.95-3.el5

    #接下来卸载老版本的mysql
    [root@HKBO ~]# rpm -e --nodeps mysql-5.0.95-3.el5
    warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Wie man alles in Myrise freischaltet
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung? Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung? Mar 19, 2025 pm 03:51 PM

    In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

    Erläutern Sie InnoDB Volltext-Suchfunktionen. Erläutern Sie InnoDB Volltext-Suchfunktionen. Apr 02, 2025 pm 06:09 PM

    Die Volltext-Suchfunktionen von InnoDB sind sehr leistungsfähig, was die Effizienz der Datenbankabfrage und die Fähigkeit, große Mengen von Textdaten zu verarbeiten, erheblich verbessern kann. 1) InnoDB implementiert die Volltext-Suche durch invertierte Indexierung und unterstützt grundlegende und erweiterte Suchabfragen. 2) Verwenden Sie die Übereinstimmung und gegen Schlüsselwörter, um den Booleschen Modus und die Phrasesuche zu unterstützen. 3) Die Optimierungsmethoden umfassen die Verwendung der Word -Segmentierungstechnologie, die regelmäßige Wiederaufbauung von Indizes und die Anpassung der Cache -Größe, um die Leistung und Genauigkeit zu verbessern.

    Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen? Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen? Mar 18, 2025 pm 12:01 PM

    In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

    Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)? Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)? Mar 21, 2025 pm 06:28 PM

    In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

    Wie behandeln Sie große Datensätze in MySQL? Wie behandeln Sie große Datensätze in MySQL? Mar 21, 2025 pm 12:15 PM

    In Artikel werden Strategien zum Umgang mit großen Datensätzen in MySQL erörtert, einschließlich Partitionierung, Sharding, Indexierung und Abfrageoptimierung.

    Differenz zwischen Clustered Index und nicht klusterer Index (Sekundärindex) in InnoDB. Differenz zwischen Clustered Index und nicht klusterer Index (Sekundärindex) in InnoDB. Apr 02, 2025 pm 06:25 PM

    Der Unterschied zwischen Clustered Index und nicht klusterer Index ist: 1. Clustered Index speichert Datenzeilen in der Indexstruktur, die für die Abfrage nach Primärschlüssel und Reichweite geeignet ist. 2. Der nicht klusterierte Index speichert Indexschlüsselwerte und -zeiger auf Datenzeilen und ist für nicht-primäre Schlüsselspaltenabfragen geeignet.

    Wie lassen Sie eine Tabelle in MySQL mit der Drop -Tabelle -Anweisung fallen? Wie lassen Sie eine Tabelle in MySQL mit der Drop -Tabelle -Anweisung fallen? Mar 19, 2025 pm 03:52 PM

    In dem Artikel werden in MySQL die Ablagerung von Tabellen mithilfe der Drop -Tabellenerklärung erörtert, wobei Vorsichtsmaßnahmen und Risiken betont werden. Es wird hervorgehoben, dass die Aktion ohne Backups, die Detaillierung von Wiederherstellungsmethoden und potenzielle Produktionsumfeldgefahren irreversibel ist.

    Wann könnte ein vollständiger Tabellen -Scan schneller sein als einen Index in MySQL? Wann könnte ein vollständiger Tabellen -Scan schneller sein als einen Index in MySQL? Apr 09, 2025 am 12:05 AM

    Die volle Tabellenscannung kann in MySQL schneller sein als die Verwendung von Indizes. Zu den spezifischen Fällen gehören: 1) das Datenvolumen ist gering; 2) Wenn die Abfrage eine große Datenmenge zurückgibt; 3) wenn die Indexspalte nicht sehr selektiv ist; 4) Wenn die komplexe Abfrage. Durch Analyse von Abfrageplänen, Optimierung von Indizes, Vermeidung von Überindex und regelmäßiger Wartung von Tabellen können Sie in praktischen Anwendungen die besten Auswahlmöglichkeiten treffen.

    See all articles