MySQL , het is me een zootje

Morgen samen,

Ik heb er een aantal weken over gedaan om er achter te komen dat mySQL instaleren en GEBRUIKEN op mac OSX niet zo evident is.

Kijk maar eens rond op de verschillende forums, niks dan problemen. Deze situeren zich meestal op het vlak van de privileges. Ik bijvoorbeeld kan niks doen in de terminal omdat ik geen toegang heb als localhost ( ja zeg…dat met die root user…tssss…)? Je vind wel zeer veel manieren om een nieuwe user aan te maken die alle privileges heeft maar dan nog, sommige doen het andere niet. Moet dat nu echt zo moeilijk zijn.

Het probleem is volgens mij ook dat zij die met unix overweg kunnen in hun “handleidingen” sommige dingen gewoon overslaan omdat dat VOOR HEN voor de hand liggend is ???

Het mag duidelijk zijn, er is nood aan een eenvoudige leidraad om de zaak op te zetten.

Want, het werkt alleen maar verwarrend als je bv. met phpMyAdmin een database kunt aanmaken, die ja niet kan aanspreken vanuit de terminal of Dreamweaver ( >mysql show databases;)

Dus, voor een goede verstaander…
Wie neemt de uitdaging aan?

Ik ben eens benieuwd, geloof me , velen zitten hierop te wachten

Alvast bedankt

deze siste heeft toender tijd goed voor me gewerkt: http://www.entropy.ch/software/macosx/mysql/

anders:
http://macdevcenter.com/

succ6

Wat entrophy betreft:

Velen hebben geen .tcshrc file in hun home directory ( invisible file!)
In zijn handleiding geen woord daarover…

en wat ik reeds zij over root:

/usr/local/mysql/bin/mysqladmin -u root password new_password_here

Als localhost ben je daat niets mee…

Dit heeft niks met MySQL en Mac OS X te maken. Wat je het beste kan doen is phpMyAdmin installeren, in je home dir zetten en Apache aanzetten. Dan naar http://localhost/~gebruikersnaam/phpMyAdmin/ surfen, dan kan je MySQL beheren vanuit een interface.

Akkoord Adriaan, Je vergeet te vermelden dat je in phpmyAdmin een file moet aanpassen en daar zit je weer met die root user gekl..

Na het instaleren van Mysql een user aanmaken die vanuit de Terminal te editeren is en welke je dan kan aanpassen in het voornoemde file in phpMyAdmin , that’s the trick?

Anders kan je databases aanmaken tot in der eeuwigheid met phpmy enz. maar probeer die dan maar eens aan te spreken met Dreamweaver!

Zoals ik al zei, ik begrijp best dat dit voor U voor de hand liggend is maar dit is zeker niet voor iedereen zo ( zie mij initiële draad)

The question remains…

Ik heb complete mysql geinstalleerd en dat werkt dus echt perfect. Het is gratis en te vinden op dit adres;

http://www.serverlogistics.com/mysql.php

Ze leggen het daar ook goed uit en het is gewoon een installer die je gewend bent.

succes

[quote:45047779c3="artwprjct"]Anders kan je databases aanmaken tot in der eeuwigheid met phpmy enz. maar probeer die dan maar eens aan te spreken met Dreamweaver!.[/quote:45047779c3]

phpMyAdmin is niks meer dan een interface die met MySQL communiceerd. Dit doet DreamWaver ook. Als je met phpMyAdmin dus een database aanmaakt, is deze database in MySQL aangemaakt, en moet dus ook gewoon aan te spreken zijn met DreamWaver, zo niet… dan gaat het bij DreamWaver fout.

Voor de liefhebber(s): Voor [url=http://www.postgresql.org/]PostgreSQL[/url] bestaat ook een PHP-interface namelijk [url=http://phppgadmin.sourceforge.net/]phpPgAdmin[/url], maar phpMyAdmin heeft volgens mij iets meer mogelijkheden.

Voor relatief eenvoudige web-oplossingen voldoet MySQL ruimschoots en wordt daarom ook door meerdere providers aangeboden. PostgreSQL daartegen heeft meer mogelijkheden zoals bijv. transactions en wordt daarom ook toegepast als backend bij grotere database-oplossingen.

Groet…

Verschillende, vooral persoonlijke, tips helpen mij reeds een stuk vooruit. Bedankt maar....

Ik draai nu SQL als root@localhost. Kan in de terminal inloggen met de juiste user en password, dus de privileges lijken ( ben voorzichtig hier) OK.

Er is dus een database genaamd “triomotors” aangemaakt en de data die erin moeten zitten in een file genaamd insert.sql wat in mijn home/Documents folder zit

Waarom werkt dit dan niet:

[d5152AECD:~] johnywil% mysql -uroot -p***** TrioMotors < ~/Documents/insert.sql

[b:9ee929a37b] Niets dus[/b:9ee929a37b]

[d5152AECD:~] johnywil% mysql -uroot -p*****
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 17 to server version: 4.0.15

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.

mysql> mysql -uroot -p***** TrioMotors < ~/Documents/insert.sql;
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘mysql -uroot -p***** TrioMotors < ~/Documents/insert.sql’ at l

[b:9ee929a37b] De semicolomn is er te veel aan, ok [/b:9ee929a37b]

mysql> show databases;
±-----------+
| Database |
±-----------+
| mysql |
| test |
| triomotors |
±-----------+
3 rows in set (0.00 sec)

mysql> use triomotors;
Database changed
mysql>
enz enz

Wat is er hier verkeerd? ( uiteraard heb ik mijn paswoord vervangen door *****) … en je ziet dat ik nog steeds als “root” user moet werken !!!

Bedankt voor de komende suggesties!

[quote:589c31c2c1="artwprjct"]Verschillende, vooral persoonlijke, tips helpen mij reeds een stuk vooruit. Bedankt maar....

Ik draai nu SQL als root@localhost. Kan in de terminal inloggen met de juiste user en password, dus de privileges lijken ( ben voorzichtig hier) OK.

Er is dus een database genaamd “triomotors” aangemaakt en de data die erin moeten zitten in een file genaamd insert.sql wat in mijn home/Documents folder zit

Waarom werkt dit dan niet:

[d5152AECD:~] johnywil% mysql -uroot -p***** TrioMotors < ~/Documents/insert.sql

[b:589c31c2c1] Niets dus[/b:589c31c2c1]

[d5152AECD:~] johnywil% mysql -uroot -p*****
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 17 to server version: 4.0.15

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.

mysql> mysql -uroot -p***** TrioMotors < ~/Documents/insert.sql;
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘mysql -uroot -p***** TrioMotors < ~/Documents/insert.sql’ at l

[b:589c31c2c1] De semicolomn is er te veel aan, ok [/b:589c31c2c1]

mysql> show databases;
±-----------+
| Database |
±-----------+
| mysql |
| test |
| triomotors |
±-----------+
3 rows in set (0.00 sec)

mysql> use triomotors;
Database changed
mysql>
enz enz

Wat is er hier verkeerd? ( uiteraard heb ik mijn paswoord vervangen door *****) … en je ziet dat ik nog steeds als “root” user moet werken !!!

Bedankt voor de komende suggesties![/quote:589c31c2c1]

Geef iig je commando’s als volgt op : mysql triomotors < sqlbestand -p
Dan krijg je daarna een prompt voor je passwoord. Volgens mij hoef je -u root er niet bij te zetten, that is als je als root ingelogt bent. (Als je het wel doet, zorg dan dat je een spatie tussen -u en root hebt).
Zo doe ik het altijd hier op de linux servers dus dat zou hetzelfde moeten werken onder os x. Het root gebeuren kan onder os x iets anders werken, dat weet ik niet.

Maar waarom ga je met het root account van je database losse databases aanmaken? Gebruik je daar geen accounts voor (icm GRANT privileges)

Thanks, maar ik was misschien niet erg duidelijk, ik moet de gecreeerde database triomotors bevolken met alle columns en data en die bevinden zich in het bestand: ~/Documents/insert.sql !

Wat de root user betreft: dit is de enige user die toegankelijk is onder localhost. Ik zou dat wel willen veranderen natuurlijk maar er zijn zo veel verschillende suggesties om een nieuwe user aan te maken die alle privileges heeft dat ik door het bos de bomen niet meer zie ( I feel stupid :oops: ) En allemaal , zonder uitzondering, zijn ontoegankelijk ( no privileges) vanuit de terminal (localhost).

Ik heb phpMyAdmin draaiend maar… daar is ook een privileges probleem (uitgz voor root@localhost )

Misschien moet je even dit doorlezen: [url]http://www.mysql.com/doc/en/Adding_users.html[/url]

Het moet echt niet moeilijk zijn, want op me FreeBSD server draait die ook gewoon goed.

Ik kan je wel sterk aanraden om phpMyAdmin te installeren, vanuit hier kan je ook makkelijk een bestand uitvoeren (insert.sql) en gebruikers toevoegen vanaf andere hosts.

Wat krijg je trouwens voor meldingen terug als je

“[d5152AECD:~] johnywil% mysql -uroot -p***** [b:9bd5051d58]-v -v -v[/b:9bd5051d58] TrioMotors < ~/Documents/insert.sql”

doet? (let op die -v -v -v)

[quote:108a42217d="artwprjct"]Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> mysql -uroot -p***** TrioMotors < ~/Documents/insert.sql;
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘mysql -uroot -p***** TrioMotors < ~/Documents/insert.sql’ at l[/quote:108a42217d]

Je voert hier een promp commando uit in MySQL. Je moet dus niet eerst MySQL opstarten en dat insert.sql proberen te importeren. Je moet gewoon meteen dit commando invoeren.

[b:3d8619c579]OK, eerst geprobeerd zonder dat mysql draait:[/b:3d8619c579]

[d5152AECD:~] johnywil% mysql -ujohny -p***** TrioMotors < ~/Documents/insert.sql
ERROR 2002: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (61)

[b:3d8619c579]Dan toch maar mysql opgestart:[/b:3d8619c579]

[d5152AECD:~] johnywil% mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1 to server version: 4.0.15

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.

mysql> mysql -ujohny -p***** TrioMotors < ~/Documents/insert.sql
->

[b:3d8619c579]en nu?[/b:3d8619c579]

Adriaan, je kan wel gewoon gelijk via de prompt het bestand insert.sql meegeven (het moet zelfs)

Bestaat die TrioMotors database eigenlijk al wel?
Anders moet die eerst even aanmaken met:
mysql>CREATE DATABASE triomotors;

Let op, mysql is case-sensitieve :wink:

Schijnbaar staan de rechten ook niet goed bij een standaard MySQL installatie, probeer dit ook even als root:

% cd /usr/local/mysql
% sudo chown -R mysql data
% sudo chgrp -R mysql .

Handig is misschien om de gebruikers al goed te zetten, dit doe je met:

“mysqladmin -u root password jewachtwoord”
“mysqladmin -u root -h localhost password jewachtwoord”
“mysqladmin -u root -h jehostname.jeprovider.nl password jewachtwoord”

De database bestaat en de rechten zijn goed !

Bestaat de gebruiker "ujohny" ook in mysql?

Dit kan je testen door in mysql in te typen:

mysql>connect mysql;
mysql>select * from user;

Bedankt voor je hulp hoor, das tof

Ik meen dat alles ok is hoor, ik heb de user johny aangemaakt met behulp van phpmyadmin. Zie maar:

[d5152AECD:~] johnywil% mysql -ujohny -p*******
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3 to server version: 4.0.15

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.

mysql> show databases;
±-----------+
| Database |
±-----------+
| mysql |
| test |
| triomotors |
±-----------+
3 rows in set (0.01 sec)

mysql>

dus die triomotors database bestaat ook onder johny@localhost.
Teminste, zo zie ik het, maar ik kan het natuurlijk verkeerd voor hebben,

Fell free to correct me :slight_smile:

Ok, dat werkt dus ;)

Kun je voor mij even de output posten als je dit commando intypt?:

[d5152AECD:~] johnywil% mysql [b:f7e88c8b89]-v[/b:f7e88c8b89] -ujohny -p******* < ~/Documents/insert.sql

Want dit moet gewoon werken, heb het nu zelfs voor de zekerheid hier thuis nagelopen bij mij krijg ik dan terug:

[code:1:f7e88c8b89]
$ mysql -v -u root -p mysql < ~/blaat.sql
Enter password:

CREATE DATABASE blaat

$

[/code:1:f7e88c8b89]

Ok mensen, ik heb het allemaal voor mekaar.

Allen bedankt voor de wijze raad, heeft me goed op weg geholpen. Speciale dank aan rbroen voor telefonische bijstand !!!

Macosx.nl en zijn leden zijn super.

THX