MySQL 8.0 - 클라이언트가 서버에서 요청한 인증 프로토콜을 지원하지 않으므로 MySQL 클라이언트를 업그레이드하십시오.
어떤 이유에서인지 서버에 간단하게 접속할 수 없습니다.최신 MySQL Community 8.0 데이터베이스를 Node와 함께 설치합니다.디폴트 설정의 JS.
이것은 내 node.js 코드입니다.
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "password",
insecureAuth : true
});
con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
});
다음은 명령 프롬프트에서 발견된 오류입니다.
C:\Users\mysql-test>node app.js
C:\Users\mysql-test\node_modules\mysql\lib\protocol\Parse
r.js:80
throw err; // Rethrow non-MySQL errors
^
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
at Handshake.Sequence._packetToError (C:\Users\mysql-
test\node_modules\mysql\lib\protocol\sequences\Sequence.js:52:14)
at Handshake.ErrorPacket (C:\Users\mysql-test\node_mo
dules\mysql\lib\protocol\sequences\Handshake.js:130:18)
at Protocol._parsePacket (C:\Users\mysql-test\node_mo
dules\mysql\lib\protocol\Protocol.js:279:23)
at Parser.write (C:\Users\mysql-test\node_modules\mys
ql\lib\protocol\Parser.js:76:12)
at Protocol.write (C:\Users\mysql-test\node_modules\m
ysql\lib\protocol\Protocol.js:39:16)
at Socket.<anonymous> (C:\Users\mysql-test\node_modul
es\mysql\lib\Connection.js:103:28)
at Socket.emit (events.js:159:13)
at addChunk (_stream_readable.js:265:12)
at readableAddChunk (_stream_readable.js:252:11)
at Socket.Readable.push (_stream_readable.js:209:10)
--------------------
at Protocol._enqueue (C:\Users\mysql-test\node_module
s\mysql\lib\protocol\Protocol.js:145:48)
at Protocol.handshake (C:\Users\mysql-test\node_modul
es\mysql\lib\protocol\Protocol.js:52:23)
at Connection.connect (C:\Users\mysql-test\node_modul
es\mysql\lib\Connection.js:130:18)
at Object.<anonymous> (C:\Users\mysql-test\server.js:
11:5)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Function.Module.runMain (module.js:701:10)
https://dev.mysql.com/doc/refman/5.5/en/old-client.html https://github.com/mysqljs/mysql/issues/1507 등의 정보를 읽어 보았습니다.
하지만 나는 아직도 내 문제를 어떻게 해결해야 할지 모르겠어.어떤 도움이라도 주시면 감사하겠습니다.d
MYSQL Workbench에서 다음 쿼리를 실행합니다.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
서 ★★★★★root
localhost
및 URL로 됩니다.password
그런 다음 이 쿼리를 실행하여 권한을 새로 고칩니다.
flush privileges;
그런 다음 노드를 사용하여 연결을 시도하십시오.
안 될 때는 안 되고 안 될 때는 안 하고 .@'localhost'
syslog.syslog.
요약
- 에러를 없애고 싶은 경우는, 프로젝트의 시큐러티(예를 들면 퍼스널 프로젝트나 개발 환경등)를 희생하고, @Pras의 회답에 따라 주세요.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'
다음에 또 한 번.flush privileges
- 없이 해 합니다.
mysql2
)mysql
합니다. )을 사용합니다.npm i mysql2
, , , , 입니다.mysql = require('mysql2');
. - 항상 배우고 싶어하는 호기심 많은 개발자라면 계속 읽어보세요...:)
무슨 일이야?
먼저 무슨 일인지 확실히 해두죠.
MySQL 8 my my 8은 。에는 「」라고 하는 이름이 붙어 .caching_sha2_password
보다 더 쓰입니다.mysql_native_password
(소스).여러 개의 핸드쉐이크를 사용하는 암호 알고리즘을 사용하는 것이 24년 동안 존재해 온 일반 암호 패스워드보다 더 안전하다는 것은 분명합니다.
이제 는 ,, 제입니다.mysqljs
Node(「」(「」)와 함께 하는 )npm i mysql
노드 코드에서 사용)은 아직 MySQL 8의 새로운 기본 인증 방식을 지원하지 않습니다.이 호는 https://github.com/mysqljs/mysql/issues/1507에 게재되어 있으며, 3년이 지난 2019년 7월 현재도 오픈되어 있습니다.
업데이트 2019년 6월:이것을 수정하기 위한 새로운 PR이 mysqljs에 추가되었습니다!
2020년 2월 업데이트: mysqljs 버전 3으로 출시될 예정입니다.
2020년 7월 업데이트: 아직 (적어도 2020년 4월 현재) 출시되지 않은 것으로 보이지만, node-mysql2가 인증 스위치 요구를 지원하고 있다고 주장되고 있습니다.이 문제에 대해 정상적으로 동작하고 있는지 아래 코멘트를 부탁드립니다.나중에 직접 테스트해 보겠습니다.
업데이트 2021년 4월:이 문제는 아직 해결되지 않은 것 같습니다만, 불과 3일 전에 누군가가 포크를 만들어 거기에 만들었습니다.그러나 mysql.js 패키지는 아직 공식화되지 않았습니다.또, 이하의 코멘트에 의하면, mysql2 패키지는 정상적으로 동작해, Authentication-switch 를 서포트하고 있는 것 같습니다.
현재 옵션
옵션 1) [권장하지 않음] 이전 "mysql_native_password"를 사용하여 인증하려면 "MySQL"을 다운그레이드합니다.
이는 모든 사람이 제안하고 있는 것입니다(위의 상위 답변 등).그냥 들어가면 돼mysql
" " " 라는합니다.root
것을 쓰면 괜찮아요.mysql_native_password
증증: :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password ...
좋은 점은 삶이 단순해지고 Sequel Pro와 같은 오래된 도구를 문제없이 사용할 수 있다는 것입니다.그러나 문제는 보다 안전한(및 아래를 참조) 제품을 이용하지 못하고 있다는 것입니다.
옵션 2) [Meh...] "Node" 패키지를 MySQL Connector X DevAPI로 바꿉니다.
MySQL X DevAPI for Node는 http://dev.mysql.com 공식 사용자가 제공하는 노드의 Mysqljs 패키지를 대체하는 것입니다.
caching_sha2_password
포트(포트)를 사용해 33060
(X 프로토콜 통신의 경우)
점은 것을 떠났다는 것입니다.mysql
모두가 익숙하고 의지하고 있는 패키지입니다.
좋은 점은, 당신의 앱이 더 안전해지고 당신은 우리의 좋은 옛 친구들이 제공하지 못한 많은 새로운 것들을 이용할 수 있다는 것입니다!X DevAPI의 튜토리얼을 확인하시면 편리한 새로운 기능이 많이 탑재되어 있다는 것을 알 수 있습니다.학습 곡선에 대한 대가를 지불하기만 하면 됩니다.이것은, 테크놀로지 업그레이드에 수반되는 것입니다.:)
PS. 아쉽게도 이 XDevAPI 패키지에는 아직 타입 정의(TypeScript로 이해 가능)가 없기 때문에 타입 스크립트를 사용하고 있으면 문제가 발생합니다.를 사용하여 .d.ts 를 생성하려고 했습니다.dts-gen
★★★★★★★★★★★★★★★★★」dtsmake
이치노러니니명명명명명
옵션 3) [권장] "mysql.js"를 "mysql2.js" 패키지로 바꿉니다.
전술한 바와 같이 mysql 패키지(NPM 패키지 링크)에서는 아직 이 문제가 발생하고 있습니다(2021년 4월 현재).그러나 mysql2 패키지(NPM 패키지 링크)는 그렇지 않습니다.그래서 아마 다음은 한 줄짜리 답일 것입니다!
npm un mysql && npm i mysql2
해 주세요.mysql2
인기 있는 작품에서 벗어나다mysql
인기 ( 다운로드, 62만건)mysql2
4월 4일)에 오리지날 ).mysql
4일)로됩니다!2021년 4월 4일)
건배!
mysql_native_password
삭제:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourRootPassword';
-- or
CREATE USER 'foo'@'%' IDENTIFIED WITH mysql_native_password BY 'bar';
-- then
FLUSH PRIVILEGES;
그 이유는caching_sha2_password
는 MySQL 8.0에 도입되었지만 Node.js 버전은 아직 구현되지 않았습니다.자세한 내용은 이 풀 요청과 이 문제를 참조하십시오.아마 곧 고쳐질 거야!
MySQL 8의 전체 단계
MySQL에 연결
$ mysql -u root -p
Enter password: (enter your root password)
패스워드 리셋
(환환))your_new_password
(미국의
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
mysql> FLUSH PRIVILEGES;
mysql> quit
그런 다음 노드를 사용하여 연결을 시도합니다.
승인된 답변은 맞지만 새 사용자를 만든 후 해당 사용자를 사용하여 데이터베이스에 액세스하는 것이 좋습니다.
create user nodeuser@localhost identified by 'nodeuser@1234';
grant all privileges on node.* to nodeuser@localhost;
ALTER USER 'nodeuser'@localhost IDENTIFIED WITH mysql_native_password BY 'nodeuser@1234';
도, 「」를 사용할 경우.MySQL
MySQL Server를 사용하여 할 때 하도록 지시하면 .Docker
.
당신의 래,, 신 so는compose
을 사용하다
# Use root/example as user/password credentials
version: '3.1'
services:
db:
image: mysql:8.0.15
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: 'pass'
MYSQL_DATABASE: 'db'
MYSQL_USER: 'user'
MYSQL_PASSWORD: 'pass'
ports:
- 3318:3306
# Change this to your local path
volumes:
- ~/Database/ORM_Test:/var/lib/mysql
ALTER USER ... 명령줄이 작동하지 않고 Windows 10 을 사용하고 있는 경우는, 다음의 순서에 따라 주세요.
1) 윈도우 검색창에 MySQL을 입력합니다.
2) MySQL Windows Installer를 엽니다(커뮤니티).
3) "MySQL 서버"를 찾아 Reconfigure(재구성)을 클릭합니다.
4) '인증방법' 단계가 될 때까지 '다음'을 클릭합니다.
5) '인증방식' 단계에서 두 번째 옵션 '레거시 인증방식 사용'을 확인합니다.
6) 그 후 Windows instra에 의해 지정된 절차를 끝까지 따릅니다.
7) 완료되면 Windows 검색창에서 "Services"로 이동하여 "Start" MySql81을 클릭합니다.
다시 한 번 시도해 보십시오.MySQL과 Node.js 사이의 접속은 정상적으로 동작합니다.
가장 간단한 답은 다음과 같습니다.
- 노드에서 mysql 대신 mysql2 사용
노드에 mysql2 설치
- npm install mysql2
mysql db를 다운그레이드하지 마십시오.
당신은 가도 좋습니다.해피 코딩!
Mysql 최신 도커 컨테이너
ALTER USER root IDENTIFIED WITH mysql_native_password BY 'password';
다운그레이드는 다음과 같은 이유로 권장되지 않을 수 있습니다.
- (인증을 향상시키기 위해) 이유가 있어서 업그레이드된 것입니다.
- 이러한 내용을 변경할 수 있는 충분한 권한이 없을 수 있습니다.
하시면 됩니다.mysql2
mysql
mysqljs.mysqljs와 .
쓰세요.const mysql = require('mysql2/promise')
메서드의 ) (약속 베이스 메서드의 경우)
은 이 글을 알 수 있습니다.mysql2
여기:https://www.npmjs.com/package/mysql2
에서는 MySQL 8.0 입니다.
caching_sha2_password
는 기본 이며, 플러그인은 "Default plugin 。mysql_native_password. ...
에 대한 .caching_sha2_password
로로 합니다.mysql_native_password
보안 관점에서, 이것은 정말로 실망스러운 일이다.
이 문서는 광범위하게 논한다caching_sha2_password
물론 반드시 되어야 하지 않은 것이 첫번째 선택은 인증 방법을 상당 수준 약화시키다.
그것으로, 나는 에이딘의 대답이 될 것으로 받아들여지답이라고 믿는다.대신 인증 방법 등급 하락의, 그 대신 서버의 버전과 일치하는 커넥터를 사용한다.
만약 당신이 docker를 사용하고 있지만 나를 위해 일했어요!
docker-compose.yml
다음과 같이 합니다.
mysql:
...
command: --default-authentication-plugin=mysql_native_password
restart: always
후에 그후,,down
와 (용기)up
또.
Windows 10 의 mysql 에 기존의 mysql 8.0 을 인스톨 하는 경우는,
설치 프로그램 시작,
QuickAction(MySQL Server 왼쪽) 아래의 "Reconfigure"를 클릭한 다음
[Next] (다음)을 클릭하여 다음 2개의 화면으로 넘어갑니다.
"Authentication Method"에서 "Use Legacy Authentication Method (Retain MySQL 5.x 호환성 유지)"를 선택합니다.
설치가 완료될 때까지 계속 클릭
원본 매뉴얼은 https://dev.mysql.com/doc/dev/connector-nodejs/8.0/ 에서 구할 수 있습니다.
'use strict';
const mysqlx = require('@mysql/xdevapi');
const options = {
host: 'localhost',
port: 33060,
password: '******',
user: 'root',
schema: 'yourconference'
};
mysqlx.getSession(options)
.then(session => {
console.log(session.inspect());
session.close();
}).catch(err => {
console.error(err.stack);
process.exit(1);
});
서버에 MYSQL이 있고 다른 서버에 nodejs 어플리케이션이 있다.
MYSQL Workbench에서 다음 쿼리를 실행합니다.
mysql_native_password로 식별되는 사용자 'root'@'%'를 'password'로 변경합니다.
8은 MySQL 8+입니다.caching_sha2_password
mysql_native_password
. 보다 인증 되지 않습니다mysql
아직 사용할 수 없습니다.단, 해 주십시오.@mysql/xdevapi
오라클
새 패키지를 설치하려면 다음을 수행합니다.
npm install @mysql/xdevapi --save --save-exact
데이터베이스에 연결하고 일부 값을 삽입하려면:
const mysqlx = require('@mysql/xdevapi');
var myTable;
mysqlx
.getSession({
user: 'root',
password: '*****',
host: 'localhost',
port: 33060
})
.then(function (session) {
// Accessing an existing table
myTable = session.getSchema('Database_Name').getTable('Table_Name');
// Insert SQL Table data
return myTable
.insert(['first_name', 'last_name'])
.values(['John', 'Doe'])
.execute()
});
공식 패키지 매뉴얼은 다음 URL에서 찾을 수 있습니다.https://dev.mysql.com/doc/dev/connector-nodejs/8.0/
위의 답변 외에 아래 명령어를 실행한 후
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'
다음과 같은 오류가 표시되는 경우:
[ERROR] Column count of mysql.user is wrong. Expected 42, found 44. The table is probably corrupted
그런 다음 cmd를 admin으로 입력하고 cmd에서 MySQL 서버 bin 폴더의 경로를 설정합니다.
set path=%PATH%;D:\xampp\mysql\bin;
다음 명령을 실행합니다.
mysql_upgrade --force -uroot -p
그러면 서버와 시스템테이블이 갱신됩니다.
그러면 Workbench의 쿼리에서 다음 명령을 정상적으로 실행할 수 있습니다.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'
그런 다음 다음 명령을 실행해야 합니다.
flush privileges;
이 모든 단계를 완료하면 MySQL 데이터베이스에 성공적으로 연결할 수 있습니다.이게 도움이 되길...
저도 방금 이 문제에 부딪혔는데, 위에서 설명한 MySQL 재구성이 모두 여전히 오류가 나타납니다.제가 데이터베이스 이름의 철자를 잘못 쓴 것으로 드러났습니다.
따라서 올바른 데이터베이스 이름으로 연결하고 있는지 확인하십시오. 특히 이 경우에는 더욱 그렇습니다.
MySql 8의 경우 루트 사용자의 인증을 변경하는 대신 모든 권한을 가진 새 사용자를 생성하고 인증 방식을 caching_sha2_password에서 mysql_native_password로 변경합니다.상세한 순서에 대해서는, 오치코 에크레사의 문서를 확인해 주세요.
순서의 개요:
- root 로 합니다.
mysql -u root -p
- 만들기
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
- permission 든든 。
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
특정 권한 부여에 대한 자세한 내용은 위의 문서 링크를 참조하십시오.
- 「」를 새로고침 .
FLUSH PRIVILEGES;
- MySql을 합니다.
quit;
할 수 있습니다.mysql -u [newuser] -p;
- 에서 인증을 합니다.
ALTER USER 'newuser'@'localhost' IDENTIFIED WITH mysql_native_password by 'password';
추가 정보:저는 루트 인증을 변경한 후 인증 문제가 발생하여 로그인할 수 없었습니다.그래서 패스워드 리셋(패스워드 리셋 문서)을 했습니다.
MySQL2에서 크넥시즈를 사용하는 것을 추천합니다.
너는 갈 수.caching_sha2_password
auth (인증)
Knex를 통한 쿼리:
const response = await knex.raw("SELECT * FROM USERS");
또는
는, 「」를 해 주세요.CREATE
를 합니다.ALTER
아래 명령어를 단말기에 입력하기만 하면 됩니다.
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpass';
GRANT ALL ON *.* TO 'root'@'%';
Flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpass';
GRANT ALL ON *.* TO 'root'@'localhost';
Flush privileges;
모두 완료:)
MySQL 사용자의 권한과 사용자 이름/비밀번호를 확인합니다.
는, 오버라이드 된 「Override(오버라이드)」를 합니다._delegateError
방 in. 의 경우 은 다음과 같이 합니다.사용자의 경우 다음과 같이 표시되어야 합니다.
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "password",
insecureAuth : true
});
var _delegateError = con._protocol._delegateError;
con._protocol._delegateError = function(err, sequence) {
if (err.fatal)
console.trace('MySQL fatal error: ' + err.message);
return _delegateError.call(this, err, sequence);
};
con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
});
이 구성은 치명적인 오류를 추적하는 데 도움이 됩니다.
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★결국 내게 한 것은 더해진 것이다.require('dotenv').config()
나 my my my.sequelizerc
successilize-cli env success success 、
ORM, 빌더 등을 생략하고및 을 사용하여 DB/SQL 관리를 간소화할 수 있습니다.
-- create this file at: db/mdb/read.table.rows.sql
SELECT TST.ID AS "id", TST.NAME AS "name", NULL AS "report",
TST.CREATED_AT AS "created", TST.UPDATED_AT AS "updated"
FROM TEST TST
WHERE UPPER(TST.NAME) LIKE CONCAT(CONCAT('%', UPPER(:name)), '%')
const conf = {
"univ": {
"db": {
"mdb": {
"host": "localhost",
"username":"admin",
"password": "mysqlpassword"
}
}
},
"db": {
"dialects": {
"mdb": "sqler-mdb"
},
"connections": [
{
"id": "mdb",
"name": "mdb",
"dir": "db/mdb",
"service": "MySQL",
"dialect": "mdb",
"pool": {},
"driverOptions": {
"connection": {
"multipleStatements": true
}
}
}
]
}
};
// create/initialize manager
const manager = new Manager(conf);
await manager.init();
// .sql file path is path to db function
const result = await manager.db.mdb.read.table.rows({
binds: {
name: 'Some Name'
}
});
console.log('Result:', result);
// after we're done using the manager we should close it
process.on('SIGINT', async function sigintDB() {
await manager.close();
console.log('Manager has been closed');
});
나는 몇 시간 동안 이 오류를 겪었고 마침내 진상을 규명했다.Zchary의 말대로 올바른 데이터베이스 이름을 전달하고 있는지 매우 주의 깊게 확인하십시오.
사실, 내 경우엔 더 심했어난 내 모든 것을 통과하고 있었다.createConnection()
의 '''로 지정합니다.undefined
왜냐면 내가 그들을 데리러 왔기 때문이다.process.env
★★★★★★★★★★★★★★★★★★★!그 후 디버깅스크립트와 테스트 npm 스크립트는 기능했지만 정상 실행은 실패했습니다. ......
, , 및 "MySQL", "MySQL", "MySQL", "MySQL", "MySQL", "MySQL", "MySQL", "MySQL", "MySQL", "", "", "MySQL" 등입니다.undefined
이치노
어쨌든, 이야기의 사기 - 어리석고 겉보기와는 다르게 보이는 것들을 먼저 확인하세요!
새 사용자 권한을 생성할 수 있는 경우 node.js에 정상적으로 연결하려면 그렇게 하십시오.
UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD')
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
이건 나한테 효과가 있었어.
MySQL Server 설치 관리자를 실행하고 My SQL Server를 재구성하기만 하면 됩니다.이건 나한테 효과가 있었어.
세션의 mysql 연결에 사용하는 스키마를 사용해야 합니다.
(async () => {
const connection = await db.connection();
sessionStore = new MySQLStore({
}, connection); //just pass your connection here
})();
여기에 복사 붙여넣기만 하면 됩니다만, 고객님의 문의에 대응하기 위해 이와 유사한 것을 실장하고 있을 가능성이 있습니다.
const mysql = require('mysql')
if (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') {
require('dotenv').config();
}
const dbConfig = {
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_DATABASE,
connectionLimit: process.env.DB_CONNECTION_LIMITS
}
const pool = mysql.createPool(dbConfig);
const connection = () => {
return new Promise((resolve, reject) => {
pool.getConnection((err, connection) => {
if (err) {
reject(err);
}
const query = (sql, binding) => {
return new Promise((resolve, reject) => {
connection.query(sql, binding, (err, result) => {
if (err) {
reject(err);
}
resolve(result);
});
});
};
const release = () => {
return new Promise((resolve, reject) => {
if (err) {
reject(err);
}
resolve(connection.release());
});
};
resolve({ query, release });
});
});
};
const query = (sql, binding) => {
return new Promise((resolve, reject) => {
pool.query(sql, binding, (err, result, fields) => {
if (err) {
reject(err);
}
resolve(result);
});
});
};
module.exports = { pool, connection, query };
MySQL에서도 같은 문제가 발생하고 있으며, MySQL(제어판 - Administrative Tools - Services)의 Windows에서 XAMPP를 사용하여 서비스를 중지하고 db.js(데이터베이스 담당) 폴더에서 암호를 비워 둡니다(여기 참조).
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: ''
});
데이터베이스에 액세스하기 위해 사용하는 사용자에게 액세스 권한이 있는지 확인합니다.
GRANT ALL PRIVILEGES ON * . * TO 'user'@'localhost';
첫 번째 별이 데이터베이스 이름으로 대체될 수 있는 경우 두 번째 별은 테이블을 지정합니다.츠키노
언급URL : https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server
'programing' 카테고리의 다른 글
Numpy 어레이를 이미지로 저장 (0) | 2022.09.24 |
---|---|
다른 테이블에서 ID가 있는 행 선택 (0) | 2022.09.24 |
mariadb 행 수준 읽기 잠금 (0) | 2022.09.24 |
Maven 2에서 가능한 모든 목표를 나열하십시오. (0) | 2022.09.21 |
MySQL에서 열 값에 문자열을 추가하는 방법 (0) | 2022.09.21 |