Openstaande vraag: bij foutmelding, bv "2 warnings"; waar kan je die opvragen? concept installatie server gebruik beheer commando's voorbeeld Types: Kolom Alle Teken Getal Datum Externe Links Kolom VARCHAR(len) CHAR(len) DATE Options NULL, NOT NULL DEFAULT "000-00-00" SIGNED, UNSIGNED: -? (m), (d) :decim Attributen: ZEROFILL AUTO_INCREMENT PRIMARY KEY UNIQUE Alle kolom types - string CHAR VARCHAR TEXT TINYTEXT MEDIUMTEXT LONGTEXT ENUM SET BLOB TINYBLOB MEDIUMBLOB LOGNBLOB - numeriek FLOAT DOUBLE DECIMAL INT TINYINT SMALLINT MEDIUMINT BIGINT - datum tijd DATETIME yyyy-mm-dd hh:mm:ss DATE yyyy-mm-dd TIME hh:mm:ss TIMESTAMP yyyymmddhhmmss YEAR yyyy Get Up |
Concept: Algemeen: - MySQL is een server programma, draait bv op een Unix/Linux server, met de naam mysqld. - De database zelf wordt gestart door deze deamon te starten, meestal vanuit een script, met paramters, en automatisch bij het starten van de fisieke server. - De gebruiker communiceert met de database (MySQL hoofdletters) via een clientprogramma (mysql kleine letters) - Er zijn verschillende "clients": mysql : is de gewone command prompt client mysqldump mysqlimport - naast intikken op de commandprompt is het handiger om de commando's op te slaan in kleine tekstblokken met extentie .sql - er zijn ook grafische clients op Linux, bv MySQL Navigator (Qt, GPL, Shi Bok Jang) o.m. bij SuSE distr. Concept gebruik: - Database initialiseren CREATE DATABASE - tabellen maken CREATE TABLE - daarbij sleutel voorzien; kan met INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY - gegevens toevoegen in lege tabel (Gegevens invullen kan op de command prompt INSERT, maar ook eenvoudig vanuit een data.txt bestand LOAD DATA, bestaande uit een record per lijn, tab-gescheiden data met een \N als NULL waarde.) - gegevens opvragen - gegevens aanpassen - tabel aanpassen ALTER TABLE - - mySQL menu Installatie:
Daarna zet je het wachtwoord voor de MySQL server: mysqladmin -u root password hfh3fgh4f Gevolgd door mysqladmin -u root status geeft error Access denied for user root@localhost ... Rechtentabellen opnieuw inlezen met mysqladmin -u root reload - - mySQL menu MySQL server Server: - mysqld : daemon (--help voor opties) Beter is het natuurlijk een script te gebruiken: - safe_mysqld : controlestart - mysql.server : luistert naar start en stop op SystemV Sluiten: mysqladmin shutdown server afsluiten - - mySQL menu mysql client gebruik Command prompt: - mysql -h 192.168.1.3 -u pinguin -p - mysql -h 192.168.1.3 -u pinguin --password=******** samp_db < ~/data/myquery.qry (om query in een tekstbestand uit te voeren vanop de command prompt) mysql client: - - mySQL menu Beheer unix commandpromt: mysqladmin variables - isamchk: tabelanalyse, optimalisatie, herstellen - myisamchk: tabelanalyse, optimalisatie, herstellen - mysqldump : backup, copieren naar andere server mysqldump samp_db > /usr/archives/mysql/samp_db.2001-08-07 backup om database terug te creeren (ook naar een anders server toe bv om te dupliceren!) mysqldump samp_db | gzip > /usr/archives/mysql/samp_db.2001-08-07.gz backup gecomprimmeerd - mysqlimport - mysqlshow db_name tbl_name mysql prompt: STATUS; toont current user, version, ports, .... om een gebruiker pinguin aan te maken met alle rechten die kan inloggen vanop afstand: GRANT ALL ON *.* TO pinguin@192.168.1.1 IDENTIFIED BY "sfivj12d4f" WITH GRANT OPTION; (denk aan beveiligingsgebreken door gebruik van wildcards) SHOW DATABASES; SHOW TABLES; DESCRIBE tbl_name; - - mySQL menu Commando's Beheer: GRANT ALL ON samp_db.* TO pinguin@localhost IDENTIFIED BY "wachtwoord" GRANT ALL ON samp_db.* TO pinguin@% IDENTIFIED BY "wachtwoord" - - mySQL menu voorbeelden: * Een "speed" voorbeeld: CREATE DATABASE test; USE test; SELECT DATABASE(); CREATE TABLE tabel(sleutelveld VARCHAR(10) NOT NULL, veld VARCHAR(20) NOT NULL); SELECT DATABASE(); DESCRIBE tabel; INSERT INTO tabel VALUES('qsdfqsdfss', 'Data Een'); SELECT * FROM tabel; * Importeren uit bestand voorbeeld: LOAD DATA LOCAL INFILE "testdata.txt" INTO TABLE tabel; en hetzelfde vanuit de shell: mysqlimport - - local tabel testdata.txt * Command prompt MySQL script voorbeeld: Het aanmaken van een database, alsook het opvullen met sql statements die bewaard worden als .sql Oproepen vanop de shell command prompt: (user is mysql username) mysql -u pinguin -p < lnCreate.sql - - mySQL menu enkele .sql vb: testdata.txt now.sql- info.sql- makedbsample.sql- usesample0.sql- Hardware db (oef) |