Toon posts:

Debian Etch MySQL probleempjes

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een vaag probleem met MySQL (misschien ook niet ;) ) Ik heb via de volgende tutorial: http://howtoforge.com/perfect_setup_debian_sarge_p4 MySQL geinstalleerd op mijn debian systeem. Ik wilde ook dat mijn systeem op alle adressen ging luisteren dus heb ik: bind-address = 127.0.0.1 gecomment. Nu dat is prachtig en ik kan een connectie maken:

code:
1
2
3
4
5
6
7
8
netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State                                                    PID/Program name
tcp        0      0 *:mysql                 *:*                     LISTEN     3                                             766/mysqld
tcp        0      0 localhost:smtp          *:*                     LISTEN     3                                             504/exim4
tcp        0      0 10.0.0.11:mysql         10.0.0.104:1175         TIME_WAIT  -                                             
tcp6       0      0 *:ssh                   *:*                     LISTEN     3                                             539/sshd
tcp6       0    148 ::ffff:10.0.0.11:ssh    ::ffff:10.0.0.104:1173  ESTABLISHED3


echter:

Afbeeldingslocatie: http://student.hro.nl/0785972/error.png

Ik heb echt geen idee hoe dit op te lossen, google geprobeerd maar was moeilijk om dit te formuleren.

Ik heb al in de config gekeken van mySQL maar hier was niet echt iets in te vinden, maar even voor de goede orde:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "/var/lib/mysql/my.cnf" to set server-specific options or
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
#
# * Basic Settings
#
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
language    = /usr/share/mysql/english
skip-external-locking
#
# For compatibility to other Debian packages that still use
# libmysqlclient10 and libmysqlclient12.
old_passwords   = 1
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address       = 127.0.0.1

#
# * Fine Tuning
#
key_buffer      = 16M
max_allowed_packet  = 16M
thread_stack        = 128K
thread_cache_size   = 8
#
# * Query Cache Configuration
#
query_cache_limit   = 1048576
query_cache_size        = 16777216
query_cache_type        = 1
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
#log        = /var/log/mysql/mysql.log
#
# Error logging goes to syslog. This is a Debian improvement :)
#
# Here you can see queries with especially long duration
#log_slow_queries   = /var/log/mysql/mysql-slow.log
#
# The following can be used as easy to replay backup logs or for replication.
#server-id      = 1
log_bin         = /var/log/mysql/mysql-bin.log
# WARNING: Using expire_logs_days without bin_log crashes the server! See README.Debian!
expire_logs_days    = 10
max_binlog_size         = 100M
#binlog_do_db       = include_database_name
#binlog_ignore_db   = include_database_name
#
# * BerkeleyDB
#
# According to an MySQL employee the use of BerkeleyDB is now discouraged
# and support for it will probably cease in the next versions.
skip-bdb
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
#skip-innodb
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet  = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer      = 16M

#
# * NDB Cluster
#
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
#
# The following configuration is read by the ndbd storage daemons,
# not from the ndb_mgmd management daemon.
#
# [MYSQL_CLUSTER]
# ndb-connectstring=127.0.0.1


p.s.

code:
1
2
3
mysqladmin -u root password xxxxxxx
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'


Dit is logisch omdat ik het bind-ip heb uncomment.

Echter dit zoals in de tutorial werkt ook niet:

code:
1
2
3
database:/etc/mysql# mysqladmin -h 10.0.0.11 -u root password xxxxx
mysqladmin: connect to server at '10.0.0.11' failed
error: 'Host '10.0.0.11' is not allowed to connect to this MySQL server'


Hetzelfde probleem dus als bij MySQL Adminstrator

Ik heb nog niet geprobeerd om MySQL opnieuw te installeren, maar dit lijkt mij ook geen nodige optie. Ik heb getwijfeld op PHPMyAdmin te installeren, maar dit heb ik liever niet, allemaal rotzooi ^^

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22-01 08:08

TrailBlazer

Karnemelk FTW

je draait die mysql op dezelfde machine als die administrator?. Het lijkt erop dat je niet probeert te connecten op de loopback (127.0.0.1) maar op het interface ip.

Verwijderd

Topicstarter
TrailBlazer schreef op donderdag 02 november 2006 @ 14:09:
je draait die mysql op dezelfde machine als die administrator?. Het lijkt erop dat je niet probeert te connecten op de loopback (127.0.0.1) maar op het interface ip.
Het is één en dezelfde machine, alleen het windows screenshot is een andere pc (10.0.0.104 in dit geval). Het is ook niet de bedoeling op te connecten op de loopback, ik wil juist vanaf een andere pc naar de MySQL server kunnen connecten en via de server op de pc databases kan managen via MySQL Administrator ;)

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 13:10

Kees

Serveradmin / BOFH / DoC
probeer iig in te loggen op een juiste manier, zoals het er nu uitziet heb je gewoon weinig tot niets in je mysql.user table staan.

Connecten doe je overigens met:
code:
1
# mysqladmin -h 10.0.0.11 -u root -p xxxxx

Of je laat de xxxxx weg, en dan prompt hij voor het wachtwoord. Als je dat gedaan hebt, en je bent binnen, dan ben ik benieuwd naar een "select host, user from mysql.user;" want ik denk dat je nog niets aan de users gedaan hebt?

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Verwijderd

Topicstarter
Nog steeds: mysqladmin: connect to server at '10.0.0.11' failed
error: 'Host '10.0.0.11' is not allowed to connect to this MySQL server'

Ik heb nog wat op got lopen zoeken, maar kan niets vinden. Overigens als ik de bind-address weer uncomment kan ik ook niet inloggen via localhost, dus er is iets goed mis :'(

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15:02

Janoz

Moderator Devschuur®

!litemod

Heb je misschien ook een firewall draaien oid?

Probeer sowieso eens om via telnet te verbinden. Gewoon telnet localhost 3306 of telnet 10.0.0.11 3306. ALs je hier een connection refused krijgt dan moet je inderdaad naar firewall en serversettings kijken, krijg je hier echter verbinding dan ligt het aan je user configuratie in mysql zel.

voorbeeldje van verbinding krijgen:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
;
4.0.24_Debian-10sarge1-loZ[;Sp\[3,

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Janoz schreef op donderdag 02 november 2006 @ 15:45:
Heb je misschien ook een firewall draaien oid?

Probeer sowieso eens om via telnet te verbinden. Gewoon telnet localhost 3306 of telnet 10.0.0.11 3306. ALs je hier een connection refused krijgt dan moet je inderdaad naar firewall en serversettings kijken, krijg je hier echter verbinding dan ligt het aan je user configuratie in mysql zel.

voorbeeldje van verbinding krijgen:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
;
4.0.24_Debian-10sarge1-loZ[;Sp\[3,
Naar mijn weten heb ik geen firewall draaien, als ik telnet vanaf een windows bak doe krijg ik geen connectie, dit had ik ook al gezien op got. Als ik het vanaf de server zelf doe met localhost krijg ik zoiets als jij schreef. Maar:

code:
1
2
3
4
5
telnet 10.0.0.11 3306
Trying 10.0.0.11...
Connected to 10.0.0.11.
Escape character is '^]'.
BHost '10.0.0.11' is not allowed to connect to this MySQL serverConnection closed by foreign host.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15:02

Janoz

Moderator Devschuur®

!litemod

Hmm, erg vreemd. Heb je de mysql daemon eventueel nog even te herstarten. Klinkt dom, maar het zou voor mij niet de eerste keer zijn dat ik een probleem niet opgelost krijg terwijl ik gewoon een herstart vergeten ben. Het feit dat het wel met localhost en niet 10.0.0.enz werkt doet mij vermoeden dat hij nog enkel met localhost bind.

[ Voor 21% gewijzigd door Janoz op 02-11-2006 16:04 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Janoz schreef op donderdag 02 november 2006 @ 16:03:
Hmm, erg vreemd. Heb je de mysql daemon eventueel nog even te herstarten. Klinkt dom, maar het zou voor mij niet de eerste keer zijn dat ik een probleem niet opgelost krijg terwijl ik gewoon een herstart vergeten ben. Het feit dat het wel met localhost en niet 10.0.0.enz werkt doet mij vermoeden dat hij nog enkel met localhost bind.
Dit is juist het vreemde, dit heb ik al tig keer geprobeerd, in mijn wanpogingen zelfs een reboot gegeven, maar het werkt nog steeds niet -_- Ik zei ook al, een vreemd probleem ;)

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 13:10

Kees

Serveradmin / BOFH / DoC
Hij luisterd op *:mysql, dus 127.0.0.1 etc moet werken.

code:
1
2
3
mysqladmin -u root password xxxxxxx
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
schreef je eerder, using password: NO, dus hij heeft je wachtwoord niet opgevangen
Verder is 'Host '10.0.0.11' is not allowed to connect to this MySQL server' tekenend voor een niet bestaande user in de mysql.user table.

Hoe heb je mysql geinstaleerd? package? download? welke database draait hij nu (welke mysql database) en welke users staan daar default in, met welke wachtwoorden? en welke host?

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Verwijderd

Topicstarter
Kees schreef op donderdag 02 november 2006 @ 18:03:
Hij luisterd op *:mysql, dus 127.0.0.1 etc moet werken.

code:
1
2
3
mysqladmin -u root password xxxxxxx
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
schreef je eerder, using password: NO, dus hij heeft je wachtwoord niet opgevangen
Verder is 'Host '10.0.0.11' is not allowed to connect to this MySQL server' tekenend voor een niet bestaande user in de mysql.user table.

Hoe heb je mysql geinstaleerd? package? download? welke database draait hij nu (welke mysql database) en welke users staan daar default in, met welke wachtwoorden? en welke host?
Ik heb het volgens die tutorial geinstalleerd die in de TS staat:
http://howtoforge.com/perfect_setup_debian_sarge_p4

En ik heb een wachtwoord opgegeven gelijk na de installatie, zoals ook staat beschreven in de tutorial. Of ik moet verstrooid zijn :P Ik ga zo eens een tweede server proberen, ik werk namelijk virtueel alvorens dit op mijn echte server te installeren. Maar alvast bedankt voor de feedback.

Ik denk dat het met het wachtwoord niet goed is gegaan dan, want:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:mysql *:* LISTEN 3316/mysqld
tcp 0 0 localhost:smtp *:* LISTEN 3508/exim4
tcp6 0 0 *:ssh *:* LISTEN 3544/sshd
tcp6 0 148 database:ssh ::ffff:10.0.0.104:3552 ESTABLISHED3635/0

[ Voor 24% gewijzigd door Verwijderd op 02-11-2006 19:11 ]


Verwijderd

Topicstarter
Ok nieuwe installatie gedaan password voor root gezet, bindadrres gecomment, dus hij luistert nu op alle ip's, ik kan lokaal connecten maar nog niet vanaf een andere pc.

code:
1
2
3
4
5
6
7
8
9
mysql> select host, user from mysql.user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | debian-sys-maint |
| localhost | root             |
| mysql     | root             |
+-----------+------------------+
3 rows in set (0.00 sec)


Maar zou ik dan een * als host kunnen zetten voor bijvoorbeeld een andere user zodat ik vanaf elk ip naar de server kan connecten?? Ik ben niet zo into de mysql user database. Betreft veiligheid, deze server komt niet aan het internet te hangen en is alleen voor lokaal testgebruik van databeesten.

edit: ik heb het inmiddels al wel voor elkaar om met een statisch ip in te loggen:

code:
1
2
3
4
5
6
7
8
9
mysql> select host, user from mysql.user;
+------------+------------------+
| host       | user             |
+------------+------------------+
| 10.0.0.104 | matthias         |
| localhost  | debian-sys-maint |
| localhost  | root             |
| mysql      | root             |
+------------+------------------+


Nu moet ik dus alleen nog vanaf elke host kunnen connecten, zou het dan *.* moeten worden??

edit2:

de query:

create user 'matthias'@'*:*';

was de oplossing, bedankt allemaal voor het meedenken!!! :)

p.s. nu alleen nog even uitvinden hoe ik een wachtwoord erop krijg, want:

mysql:~# mysqladmin -u matthias password
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'matthias'@'localhost' (using password: NO)'
mysql:~#

Ik mag dus geen wachtwoord instellen, dus ik ga weer ff zoeken hoe ik een wachtwoord erop zet middels een query

[ Voor 39% gewijzigd door Verwijderd op 02-11-2006 22:41 ]


Verwijderd

Topicstarter
Aaah, te vroeg gejuigt, na een reboot van de server lukt het inloggen niet meer -__- die keren dat het wel lukt was dus gewoon vanuit de cache, daar zit je dan, met nog steeds hetzelfde probleem. Ik ga maar weer eens googlen, maar mocht iemand anders sneller zijn dan google aarzel dan niet :p

edit:

offtopic:
sorry van het kicken, besefte het toen ik op verstuur bericht klikte :X


laatste edit van dit topic:

door simpel weg de host in de query leeg te laten betekent dit dat van elke host een connectie kan worden gemaakt. Zoals altijd was ik weer eens te snel met posten voordat ik dit ging uitproberen :+
En natuurlijk deze is ook een klassieker:

create user 'matthias'@' ';

ipv: create user 'matthias'@' ' identified by (password);

ach ja, het is niet goed om elke dag maar 3 uur te slapen :z

[ Voor 50% gewijzigd door Verwijderd op 02-11-2006 23:30 ]


  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

Misschien is het een idee om in het vervolg de melding door Google te gooien ? Dit probleem, en de oplissing is namelijk gewoon uit de MySQL manual te halen.

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Verwijderd schreef op donderdag 02 november 2006 @ 19:01:
En ik heb een wachtwoord opgegeven gelijk na de installatie, zoals ook staat beschreven in de tutorial.
Maar je moet het nog steeds opgeven als je probeert in te loggen,
dus
code:
1
mysql -h <host> -u <username> -p

zodat je een password prompt krijgt.

En je realiseert je dat de mysql user 'root' niet gelijk is aan de root user van je systeem en een ander wachtwoord heeft?

Wie trösten wir uns, die Mörder aller Mörder?


  • Japius
  • Registratie: April 2003
  • Laatst online: 02-01 22:04
Ik denk dat je even in de manual moet kijken: je probeert in te loggen zonder dat je de juiste rechten hebt.

Als je lokaal inlogt als root, met
code:
1
mysql -u root -p


moet je het volgende commando geven:
code:
1
GRANT ALL ON databasenaam.tabelnaam TO username@machinenaam IDENTIFIED BY 'wachtwoord'


Daarbij kan je wildcards gebruiken, in jouw geval dus op de plaats van machinenaam.

Verwijderd

Topicstarter
Sorry allen, ik had het inderdaad door google kunnen halen, maar ik dacht dat het iets met de configuratie van mysql-server te maken had en niet met de inhoud van de mysql.user database.

En ik weet: mysql.user->root != root ;)

  • Candymirror
  • Registratie: November 2003
  • Laatst online: 04-02 11:15
Als je lokaal probeert te connecten via localhost werkt het wel zeker......

Zet in je config het bindadress op het ip adres van je netwerkkaart en haal het # er voor weg...

Veel plezier!

Verwijderd

Topicstarter
Dan werkt het juist niet zoals ik wil die # moet er staan anders kan ik niet connecten vanaf een andere host, en dit is wel mijn bedoeling ;) Het werkt nu hoor :p
Pagina: 1