> 안녕하세요.
>
> 제목그대로 입니다.
> 아시는 분은 답변을 부탁드립니다.
>
> 모두들 수고하시기를 바랍니다.
> JDBC를 이용해서 연결할때 이런 에러가 나오고 있습니다.
> java.sql.SQLException: Invalid authorization specification: Access den
> ied for user: 'freemed@' (Using password: YES)
> Invalid authorization specification: Access denied for user: 'freemed@
> ' (Using password: YES)
저는 jdbc를 이용한 MySQL로의 접속은 성공했기에 이렇게 글을 씁니다. Window에서 odbc를 사용하여 LInux의 MySQL로의 접속을 알게되면
저에게도 mail이나 그로 가르쳐 주세요.
우선 위의 에러글을 보니 classpath 등 모든 것은 제대로 된 것
같군요. 제생각으로는 table을 만든 user가 접속을 시도해야 하는데
다른 user로서 시도한 경우거나 아님 password를 넣지 않은 경우
같습니다.
예를 들어 test라는 database에 test_01이라는 table을 freemed라는
user가 만들었고 password로 freemed123라면
->DriverManager.getConnection("jdbc:z1MySQL:// 호스트이름:port번 호/test(접속DB이름)?user=freemed(user)?password=freemed(password이름)") 이렇게 Connection conn을 얻으신 후
conn.createStatement()해서 Statement stmt를 얻으신후
stmt.executeQuery("select * from test_01(읽어오려는 talbe이름)
");
이런식으로 하니까 되더군요.
참고로 기본port 번호를 쓰고 있으면 port번호는 안써도 되구요.
classpath에 잡힌 jdbc driver는 twz1jdbcForMysql.jar입니다.
도움이 되셨길...
또 알게 된것이 생겨서 이렇게 글을 올립니다.
1) linux상의 mysql이나 postgresql을 쓰기 때문에 window에서 java로
linux상의 데이타베이스에 접속을 시도할때 jdbc만 쓰면 되더라
구요. 주의할 것은 jdk1.1.x이면 jdbc1을 jdk1.2이상이면 jdbc2
를 써야 하더라구요. 당연히 윈도우에서 path,classpath잡구요.
2) 데이타베이스에 접속이 안될때는 다음과 같이 하면 되더라구요.
예)
%shell>mysqladmin -u root -p create sss
%shell>mysql -u root -p mysql
-mysql>insert into user (host,user,password)
values ('localhost','nobody','password('
nobody_password'));
-mysql>insert into user (host,user,password)
values ('%','nobody','password('
nobody_password'));
-mysql>insert into db(host,db,user,select_priv,insert_priv,
update_priv,delete_priv) values
('localhost','sss','nobody','Y','Y','Y','Y');
-mysql>insert into db(host,db,user,select_priv,insert_priv,
update_priv,delete_priv) values
('%','sss','nobody','Y','Y','Y','Y');
-mysql>insert into host(host,db,select_priv,insert_priv,
update_priv,delete_priv) values
('%','sss','Y','Y','Y','Y');
-mysql>flush priviles;
이렇게 하면 root가 만든 sss라는 데이타베이스를
모든 호스트에서 접근하는 nobody라는 사용자, password는
nobody_password인 사용자가 select,insert,update,delete
할 수 있게 되더군요.
그럼.. 이만..
참고로 허정수님이 번역하신 mysql 문서를 보고 이런걸
알게 되었습니다.
|