Topic: Mysql ir ODBC

Sveiki, gal galite paaiskinti kaip suinstaliuoti toki dalyka kaip ODBC i linux sistema (slackware)
Man reikia mysql naudoti kitam kompui. O trumpiau wine tame paciame linuxe. Gal as blogai instaliavau wine, bet nurodzius mysql adresa "localhost", "127.0.0.1", tikra isorini IP adresa, ir niekaip neprisijungiu prie mysql. Linux yra tik consolinis be grafikos. Aciu uz bet kokia pagalba.

Re: Mysql ir ODBC

Niekas neaišku.

Kokią programą leidi per WINE, kam tas ODBC?

Bandei tikrą vidini IP adresą?

Galbūt ten reikia papildomai WINE konfigūruoti, kad veiktų tinklas.

Ar MySQL serveris aplamai priima prisijungimus iš tinklo?

Standartinis ODBC draiveris linuxui ir kitoms sistemoms: http://dev.mysql.com/downloads/connector/odbc/3.51.html

Re: Mysql ir ODBC

Yra tokia programa kaip sscreborn, ji yra konsoline, galima ja naudoti ir linuxe ir windowsuose. Jai reikia prisijungti prie mysql serverio (nesvarbu kokio, ir kur jis yra). Bandziau visokius adresus irasyti, ir vidini IP ir isorini ir domenus ir t.t.t. neprisijungia ir viskas. Wine nieko nekonfiguravau, nes niekada nesusidures su ja, bet ji veikia, pasleidzia ta programa ir t.t.
Linux Mysql serveris veikia kuo puikiausiai. Forumas kuris yra serveryje veikia, visos kitos programos taip pat. Bet kaip bandau is namu prisijungti prie linux serverio mysql per MySQL Administrator, tai negaliu, reiskias blogai yra su ODBC.
Manau pakankamai paaiskinau :)

Re: Mysql ir ODBC

Patikslinkim dar kartą:

- ant to pačio serverio (linux) veikiančios programos prie MySQL prisijungia puikiai

- visos nutolusios programos neprisijungia?

Solltex wrote:

Bet kaip bandau is namu prisijungti prie linux serverio mysql per MySQL Administrator, tai negaliu, reiskias blogai yra su ODBC.

Nelogiška išvada dėl ODBC ;) Nes jungiantis prie MySQL serverio naudojant MySQL Administrator'ių ODBC yra nenaudojamas. Jungiamasi tiesiai prie serverio.

Variantai, kodėl gali neprijungti:
a) nėra suformuotos tam tikros teisės vartotojams jungtis iš adresų, kurie nelygūs localhost (127.0.0.1). šis atvejis gal net ir tiktų paaiškinti, kodėl neveikia programa per WINE, nes galbūt ji jungiasi per išorinį IP.
b) MySQL serveris iš viso nėra sukonfigūruotas tinkliniam veikimui (t.y. jis "neklauso" užklausų per 3306 port'ą).

Taip pat vertėtų pasidomėti, kaip konfigūruojami tinklo parametrai WINE programai ir per ją paleidžiamoms aplikacijoms.

Re: Mysql ir ODBC

Solltex wrote:

Yra tokia programa kaip sscreborn, ji yra konsoline, galima ja naudoti ir linuxe ir windowsuose....

Kažkaip nepavyko jos rasti, tikriausiai supainiojai pavadinimą.

Re: Mysql ir ODBC

1. Ant to pacio serverio (linux) visos programos prisijungia puikiai.
2. Visos nutolusios ne.

a) bandau jungtis viskuom ir root ir useriu (vistiek niekaip)
b) Va cia ir gali buti problema. Uztat ir prasau, gal padesit kazkaip susikonfiguruoti, kad prisijungtu klientai prie mysql is isores.

Re: Mysql ir ODBC

a) mysql vartotojai gali būti sukonfigūruoti taip, kad tarkim leistu prisijungti prie serverio iš lokalaus adreso, o iš nutolusio ne - reikia skaityti klaidų pranešimus jungiantis.
b) mysql serveris turi nustatymų (konfigūracinį failą), kuris linuxe dažniausiai vadinasi "my.cnf" ir dažniausiai būna randamas /etc/mysql/ kataloge. Jame tūrėtų būtį tokie nustatymai, "mysqld" skyriuje:

[mysqld]
port                         = 3306
#skip-networking
bind-address            = 192.168.1.254

Paaiškinimai:
bind-address - nurodo, ant kurio iš serverio turimų IP adresų serveris veiks
port - nurodo, and kurio porto serveris veiks (standartinis 3306)
#skip-networking - užkomentuota tinklinio veikimo atjungimo komanda

Pakeitus nustatymus reikia perkrauti servį, patikrinti ar jis veikia ant 3306 porto, pažiūrėti ar mysql žurnaluose (log'uose) nėra jokių klaidų, ir tada bandyti jungtis ;)

Re: Mysql ir ODBC

# The MySQL server
[mysqld]
bind-address  = irasiau serverio isorini IP
port        = 3306
socket        = /var/run/mysql/mysql.sock
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
#skip-networking

Va kokia situacija:

root@cs:~# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
root@cs:~# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
root@cs:~# mysql -u odbc
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 812637 to server version: 5.0.21

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

O is isores vistiek neprisijungiu.

Re: Mysql ir ODBC

Junkdamasis su vartotoju "root" nurodyk slaptažodį:

mysql -u root -p

Tau juk neprisijungia prie mysql'o vien dėlto, kad tu nenurodai slaptažodžio.
Toliau "odbc" čia yra vartotojas, tokiu pavadinimu, o ne joks ODBC draiveris/protokolas.

Taip pat, jeigu nesunku, prisijungęs su odbc vartotoju, parodyk, ką išves atlikus šiuos veiksmus:

use mysql;
select host,user FROM user;

Re: Mysql ir ODBC

mysql> use mysql;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
mysql> use mysql;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
mysql> select host,user FROM user;
ERROR 1046 (3D000): No database selected
mysql> select host,user FROM user;
ERROR 1046 (3D000): No database selected
mysql>

Re: Mysql ir ODBC

Aiškų, vartotojas "odbc" turi labai mažai teisių ;)

Todėl dabar prie mysql junkis tik su vartotoju "root" nurodydamas slaptažodį:

mysql -u root -p

Paleidus tokią komanda, mysql'as paprašys įvesti slaptažodį.

Arba galima jį iš karto nurodyti komandoje:

mysql -u root -pslaptazodis

Sėkmingai prisijungus atlik šiuos veiksmus:

use mysql;
SELECT user,host FROM user;

12 (edited by Solltex 2006-09-27 10:47:40)

Re: Mysql ir ODBC

Prisijungiau kaip odbc, irasiau:
mysql -u root -p slaptazodis_mano

jungiuosi kaip root, ir neduoda :(

root@cs:~# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Gal reiktu kazkaip ta ODBC kur idejau istrinti?

Pagaliau jau veikia kazkas:
root@cs:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 812898 to server version: 5.0.21

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql;
Database changed
mysql> SELECT user,host FROM user;
+-------+-----------+
| user  | host      |
+-------+-----------+
visos bazes

Kaip dabar prisijungti is isores?

Re: Mysql ir ODBC

Solltex wrote:

Prisijungiau kaip odbc, irasiau:
mysql -u root -p slaptazodis_mano

Atidžiau skaityk nurodymus - tarp "-p" ir slaptažodžio neturi būti jokio tarpo.

Solltex wrote:

jungiuosi kaip root, ir neduoda :(

root@cs:~# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Neleidžia prisijungti, nes jungiesi be slaptažodžio.

Solltex wrote:

Gal reiktu kazkaip ta ODBC kur idejau istrinti?

Pamiršk tu jį kol kas. Ir nevadink vartotojo vien tik "ODBC", nes labai painioji savo situaciją, nes ODBC yra tam tikra technologija keistis duomenimis, naudodamas "ODBC" be jokių paaiškinimų, kad tai yra tavo vartotojo vardas labai viską painioji ir komplikuoji.

Solltex wrote:

Pagaliau jau veikia kazkas:

(...)

mysql> SELECT user,host FROM user;
+-------+-----------+
| user  | host      |
+-------+-----------+
visos bazes

Tai parodyk įrašus susijusius su vartotoju "root", juk dėlto ir prašiau, kad parodytum. Iš to bus galima spręsti ar vartotojas "root" turi teises jungtis iš išorės ar ne.

Solltex wrote:

Kaip dabar prisijungti is isores?

Taip pat kaip ir lokaliai - jungtis su vartotoju "root" nurodant slaptažodį ;)

Re: Mysql ir ODBC

root@cs:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 813570 to server version: 5.0.21

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql;
Database changed
mysql> SELECT user,host FROM user;
+-------+---------------+
| user  | host          |
+-------+---------------+
|           |   cs            |
| root  | cs               |
|         | localhost     |
| root  | localhost     |
+-------+---------------+
4 rows in set (0.00 sec)

Neina viatiek prisijungti is isores. Man atrodo kad dabar yra uzdraustas prisijungimas prie mysql serveriu is isores. Reikia atskirai prasyti provaideriu kad atidarytu tam tikrus kazkokius portus ar dar kazka.

Re: Mysql ir ODBC

Pas tave dabar vartotojas "root" prie MySQL serverio gali prisijungti tik iš lokalaus adreso (pačio serverio) ir serverio sistemai žinomo vardu "cs".

Norint, kad būtų galima jungtis iš kitų adresų reikia tas teises suteikti vartotojui "root".

Jeigu pas tave fiziškai nėra galimybės prisijungti prie 3306 porto iš norimo adreso tai daugiau nėra apie ką ir kalbėti.

Re: Mysql ir ODBC

minde wrote:

Jeigu pas tave fiziškai nėra galimybės prisijungti prie 3306 porto iš norimo adreso tai daugiau nėra apie ką ir kalbėti.

:) ne, as tik taip manau.

O kaip sukonfiguruoti kad galima butu jungtis is isores.

Re: Mysql ir ODBC

Solltex wrote:

O kaip sukonfiguruoti kad galima butu jungtis is isores.

Visose ugniasienėse ir maršrutizatoriuose leisti jungtis iš išorės kliento adreso į 3306 vidinio adreso portą.