MySQL

Fra GNUskole
Hopp til: navigasjon, søk

Lage en ny database

Fra bash-prompten:

[root@ts01]# mysql
mysql> CREATE DATABASE nybase;

Sette passord for systembrukeren (root) til MySQL

Som standard har systembrukeren "root" tilgang til databasen uten passord. Det er lurt å sette dette passordet hvis man har tenkt å bruke MySQL. Det kan gjøres på (minst!) to måter. Den første er enkel men litt usikker, den andre er sikrere men litt mer komplisert.

Den enkle - og nokså sikre måten:

mysql_secure_installation

Den andre, men mer kompliserte måten ser slik ut. Sette passord vha mysqladmin-verktøyet:

[root@ts01]# mysqladmin --user=root password nytt-kuult-passord

Sette passord fra mysql:

[root@ts01]# mysql --user=root
mysql> use mysql;                    <-- Velger databasen "mysql"
mysql> UPDATE user SET password=PASSWORD('nytt-kuult-passord') WHERE user='root';
mysql> FLUSH PRIVILEGES;

Ved neste pålogging må man oppgi at man ønsker å bruke passord,

[root@ts01]# mysql -p

og hvis man skal logge på med en bruker som har et brukernavn forskjellig fra innloggingsnavnet kan man også si hvilken bruker man ønsker å logge på med:

[vanlig-bruker@ts01]# mysql -p --user root

Lage nye brukere

mysql> GRANT ALL ON nybase.* TO nybruker@localhost IDENTIFIED BY 'kuult-passord';

Dette lager en bruker "nybruker" med passord "kuult-passord", og fra "localhost" har denne brukeren alle rettigheter til databasen "nybase" (som allerede må eksistere).

Endre standard tegnsett i mysql

Det er en del installasjoner som nå vil ha UTF8 som standard i nye databaser, men det er ikke standard i CentOS v5.5 (i alle fall). Du kan endre /etc/my.conf for å sette en ny standard:

[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci

Eller du kan lage databasene slik:

mysql> CREATE DATABASE nybase CHARACTER SET utf8 COLLATION utf8_general_ci;