머리말
어색한 : access denied for user 'root'@'localhost' using password yes
때로는 MySQL 데이터를 연결할 때 "access denied for user 'root'@'localhost' using password yes" 이 오류를 볼 때 혼란스러워하지 마십시오. 오류의 이유는 데이터베이스에서 액세스 한 사용자 이름 또는 비밀번호가 잘못 되었기 때문입니다. 이 시점에서는 일반적으로 다음 두 가지 상황으로 나뉘어져 있으며 해결책에 대해 이야기 할 것입니다.
1. Xinan MySQL은 비밀번호를 설정하지 않았습니다. 이 경우 비밀번호를 추가해야합니다. 추가하는 방법?
1. 루트 사용자를 사용하여 빈 비밀번호로 mysql에 로그인하십시오.
mysql -u 루트
2. 루트 사용자의 비밀번호 수정 :
mysql> 데이터베이스 이름 업데이트 set password = password ( 'new password') 여기서 user = 'root'mysql> 플러시 권한; mysql> quit
3. MySQL을 다시 시작하면 새 비밀번호로 로그인 할 수 있습니다.
2. 나는 오랫동안 그것을 사용하지 않았고, 내 비밀번호를 잊어 버려
1. DOS를 열고 MySQL : i : D : /development/mysql-5.559-winx64/bin 아래에 빈 디렉토리를 입력하십시오.
2. MySQL 서비스 중지, Net Stop MySQL
3. d : /development/mysql-5.5.29-winx64/bin 이후에 입력하십시오.
mysqld-defaults-file = "d : /development/mysql-5.5.29-winx64/bin/my.ini"--console ---skip-grant-tables
4. DOS 창을 다시 열고 d : /development/mysql-5.5.29-winx64/bin : mysql -root -p 이후에 입력하십시오.
5. 비밀번호를 입력하고 입력 한 후 비밀번호를 입력하고 mysql을 입력하십시오.
6. MySQL에 입력하십시오> :
mysql> 데이터베이스 이름 업데이트 set password = password ( 'new password') 여기서 user = 'root'mysql> 플러시 권한; mysql> quit
참고 : 여러 데이터베이스가있는 경우 여러 번 데이터베이스를 업데이트 할 수 있습니다.
속성 파일을 통해 MySQL 구성
1. 데이터를 연결하는 일반적인 방법
2. 속성 구성 및 읽기
1. 구성 파일 users.properties
jdbc.drivers = com.mysql.jdbc.driverjdbc.url = jdbc : mysql : // localhost : 3306/databasenamejdbc.username = rootjdbc.password = uppassword
2. 속성 파일을 읽으십시오
(1) 속성 객체를 만듭니다.
속성 속성 = 새로운 속성 ();
이 단계는 또한 수행 할 수 있습니다. 속성을 상속하는 클래스를 만들고 싱글 톤 모드에서 객체를 가져옵니다.
(2) 클래스 객체의 getResourCeasStream () 메소드를 사용하여 지정된 속성 파일을 입력 스트림에 읽고 속성 클래스의 load () 메소드를 사용하여 입력 스트림에서 속성 목록 (키/값 쌍)을 읽습니다.
private String resource = "user.properties"; // 구성 파일 이름이 사용자 인 경우.
(3) 데이터베이스 연결을 사용할 때는 속성 클래스의 getProperty () 메소드를 사용하여 키를 통해 값 값을 얻으므로 데이터베이스 연결 작업이 실현됩니다.
문자열 드라이버 = props.getProperty ( "jdbc.drivers"); String URL = props.getProperty ( "jdbc.url"); String username = props.getProperty ( "jdbc.username"); String propport = props.getProperty ( "jdbc.password"); DriverManager.getConnection (URL, 사용자 이름, 비밀번호);
MySQL 연결 풀
1. 데이터 소스와 연결 풀을 사용하는 이유
응용 프로그램은 자주 데이터베이스에 연결해야합니다. 작업 할 때마다 데이터베이스에 연결 한 다음 닫으면 성능이 확실히 제한됩니다. 따라서 데이터베이스 연결을 재사용하는 방법을 찾아야합니다. 연결 풀을 사용하여 다중화 데이터베이스 연결을 목적으로 달성하십시오.
2. 연결 풀 개념
연결 풀은 연결 객체를 관리하는 데 사용됩니다. 연결 풀은 데이터 소스에서 연결을 얻을 수 있습니다. 연결 풀에는 몇 가지 데이터베이스 연결 객체가있을 수 있으며 재사용 할 수 있습니다. 응용 프로그램이 연결 해야하는 경우 연결 풀에 적용됩니다. 연결 풀에 무료 연결이 있으면 응용 프로그램에 할당됩니다. 그렇지 않은 경우 대기 대기열에서 기다려야 할 수도 있습니다.
3. MySQL 연결 풀 구성
1. 데이터베이스 드라이버 패키지와 JSTL JAR 패키지를 %Catalina_home %/lib로 복사하십시오.
2. %catalina_home %/conf/server.xml 파일을 수정하고 <host> 노드 아래에 추가하십시오.
<!-AppName 프로젝트 이름 DocBase는 정확해야하며 기호는 &-!> <Context Path = "/AppName"DocBase = "AppName/Webroot"anid = "컨테이너"> <resource name = "jdbc/mysqlds"scope = "shareable"type = "javax.sql.datasource"로 대체해야합니다. url = "jdbc : mysql : // localhost : 3306/kqxt? useunicode = true & charac
3. web.xml을 수정하고 <web-app> 노드에서 다음 내용을 추가하십시오.
<Resource-Ref> <description> mysql dataSource 예제 </descript> <res-ref-name> mysqlds </res-ref-name> <res-type> javax.sql.datasource </res-type> <res-auth> container </resce-ref>
4. 코드에서 데이터베이스 연결을 가져옵니다
// 가져 오기 패키지 이름 가져 오기 java.sql.connection; import javax.naming.context; import javax.naming.initialContext; import javax.sql.datasource; public class dbutil {public static connection getConnection (context context = new initialContext); // 데이터 소스 DataSource DS = (DataSource) Context.Lookup ( "Java : comp/env/jdbc/mysqlds"); // 데이터베이스 연결을 가져옵니다. 연결 연결 Conn = ds.getConnection (); if (conn! = null &&! conn.isclosed ()) {return conn; } else {return null; }}}요약
위는이 기사의 전체 내용입니다. 이 기사의 내용에 모든 사람의 연구 나 작업에 대한 특정 참조 가치가 있기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.