Sunteți pe pagina 1din 6

Configurarea MySQL

← Schimbarea setului de caractere


← Mesaje de eroare in romana
← Utilitarele MySQL
← mysql
← mysqladmin
← mysqldump
← mysqlimport

Schimbarea setului de caractere

Implicit, MySQL foloseste setul de caractere ISO-8859-1 Latin1 cu sortarea in


orinea limbii suedeze. Pentru a schimba acest set implicit de caractere, foloseste
comanda:

mysql> ./configure --with-charset=CHARSET

unde CHARSET poate fi big5, cp1251, cp1257, czech, danish, dec8, dos, euc_kr,
gb2312, gbk, german1, hebrew, hp8, hungarian, koi8_ru, koi8_ukr, latin1, latin2, sjis,
swe7, tis620, ujis, usa7, or win1251ukr.

Pentru a adauga un nou set de caractere decide daca setul e unul simplu sau complex
(are nevoie de sau nu de suport multi-byte) si:

I.Set simplu:

1. Adauga SETUL la sfarasitul fisierului `sql/share/charsets/Index' si atribuie-i un


numar.
2. Creaza un fisier `sql/share/charsets/SETUL.conf'. (Foloseste ca model
`sql/share/charsets/latin1.conf').
3. Adauga numele 'SETUL' la listele CHARSETS_AVAILABLE and
COMPILED_CHARSETS din 'configure.in'.

II.Set complex:
1. Creaza fisierul `strings/ctype-SETUL.c'.
2. Adauga SETUL la sfarasitul fisierului `sql/share/charsets/Index' si atribuie-i un
numar.
3. Plaseaza un comentariu in partea de sus a fisierului creat la 1. :
4. /*
5. * This comment is parsed by configure to create ctype.c
6. * .configure. number_MYSET=MYNUMBER
7. * .configure. strxfrm_multiply_MYSET=N
8. * .configure. mbmaxlen_MYSET=N<
*/
9. Creaza urmatoarele functii: my_strncoll_MYSET(), my_strcoll_MYSET(),
my_strxfrm_MYSET(), my_like_range_MYSET().
10. Adauga numele 'SETUL' la listele CHARSETS_AVAILABLE and
COMPILED_CHARSETS din 'configure.in'.

Mesaje de eroare in alte limbi

mysqld poatge da mesaje de eroare in urmatoarele limbi: ceha, daneza, engleza (implicit),
estoniana, franceza, germana, greaca, italiana, japoneza, koreana, maghiara, norvegiana,
norvegiana-ny, olandeza, poloneza, portugheza, romana, rusa, slovaca, spaniola si
suedeza.

Pentru a porni mysql in limba romana:

shell> mysqld --language=romanian


sau

shell> mysqld --language=/usr/local/share/romanian

Pentru a actualiza fisierul cu mesaje de eroare, modifica `errmsg.txt' si executa:

shell> comp_err errmsg.txt errmsg.sys

Utilitarele MySQL

Sunt niste programe-client care se folosesc pentru a construi, configura si intretine bazele
de date.
myisamchk
Descrie, verifica si optimizeaza tabele.
make_binary_release
Face un pachet binar cu dstrubutia MySQL.
msql2mysql
Converteste programe mSQL in MySQL.
mysql
mysqlaccess
Verifica privilegii de acces pentru o combinatie de gazda-utilizator-baza de date.
mysqladmin
mysqlbug
Genereaza un raport cu defectge (bugs) gasite in MySQL.
mysqld
Daemon-ul SQL.
mysqldump
mysqlimport
mysqlshow
Afiseaza informatii despre baze de date, tabele, coloane, indecsi.
mysql_install_db
Creaza tabelele de privilegii.
replace
Program utilitar care inlocuieste un sir de caractere cu alt sir dintr-un anumit
fisier.
shell> replace a b b a -- fisier1 fisier2 ...
safe_mysqld
Porneste daemon-ul mysqld cu unele optiuni de siguranta.

mysql.exe

Este interfata in linie de comanda a MySQL-ului si-ti permite sa rulezi comenzi


SQL sau comenzi specifice MySQL. Sintaxa este:

mysql [options] [database name] [<inputfile] [>outputfile]

Tasteaza help pentru a vedea unele facilitati ale mysql:


help (\h) Afiseaza acest text
? (\h) Sinonim pentru ‘help’
clear (\c) "Curata" ecranul
connect (\r) Reconectare la server
edit (\e) Comanda edit cu $EDITOR
exit (\q) Iesire din mysql
go (\g) Trimite comanda la server
ego (\G) Trimite comanda si afiseaza rezultatul vertical
print (\p) Tipareste comanda curenta
quit (\q) Iesire din mysql
rehash (\#) Reconstruieste hash-ul
status (\s) Status info
use (\u) Foloseste o baza de date

** nou in versiunea 3.23:


source (\.) Executa un fisier script .sql

Alte optiuni pentru programul-client mysql:

-? --help Help
-B --batch Afiseaza rezultatele cu TAB ca separator.
-D, --database=.. Baza de date folosita
e --execute=... Executa comanda si iese
-E --vertical Afisare veritcala a rezultatelor
-f --force Continua chiar daca apar erori
-h --host=... Conectare la gazda specificata
-H --html Produce iesiri in format HTML.
-L --skip-line-
numbers Nu afiseaza numere de linii in cazul erorilor
-n --unbuffered Goleste buffer-ul dupa fiecare interogare
-p[password]
--password[=...] Parola care va fi folosita
-P --port=... Portul TCP/IP folosit
-q --quick Tipareste rezultatul linie cu linie
-r --raw Scrie numele de campuri cu tot cu caracterele
de escape
-t --table Iesiri in formatul tabeleiOutput in table
format. This is default in
non-batch mode.
-u --user=# Utilizatorul care intra nu e cel curentUser
for login if not current user.
-w --wait Asteapta si reincearca conectarea

mysqladmin

Este utilitarul pentru sarcini administrative. Sintaxa:

mysqladmin [OPTIONS] command command...

unde comenzile pot fi:


create databasename
drop databasename
extended-status Mesaj extins despre status-ul server-ului
flush-hosts
flush-logs
flush-tables
flush-privileges Reincarca tabelele de privilegii
kill id,id,... Termina thread-urile mysql
password newpassword Schimba parola
ping Verifica daca mysgld e pornit
processlist Lista proceselor active
reload Reincarca tabelele de privilegii
refresh
shutdown
status
variables Afiseaza variabilele disponibile
version Versiunea MySQL
slave-start Starteaza thread-ul slave
(nou in v3.23)
slave-stop Opreste thread-ul slave.
(nou in v3.23)
-? --help
-# --debug=...
-f --force Continua chiara daca apar erori
-h --host=#
-p[...] --password[=...]
-P --port=...
-I --sleep=sec Executa comenzile in continuu cu o
pauza intre
-r --relative Arata diferentele obtinute
-s --silent Iesire daca nu e permisa conecatarea
-t --timeout=... Timeout pentru conectare
-w --wait[=retries]
-W --pipe
-E --vertical

Exemplu:
mysqladmin proc stat
+----+-------+-----------+----+-------------+------+-------+------ +
| Id | User | Host | db | Command | Time | State | Info |
+----+-------+-----------+----+-------------+------+-------+------ +
| 6 | monty | localhost | | Processlist | 0 | | |
+----+-------+-----------+----+-------------+------+-------+------ +
Uptime: 10077 Threads: 1 Questions: 9 Slow queries: 0 Opens: 6
Flush tables: 1 Open tables: 2 Memory in use: 1092K Max memory
used: 1116K

mysqldump

Este un utilitar pentru mutarea/stergerea informatiilor din tabele. Sintaxa:


mysqldump [OPTIONS] database [tables]
Folosire (pentru backup):
mysqldump --opt mydatabase > backup-file.sql
Poti citi inapoi in MySQL informatiile cu:
mysql mydatabase < backup-file.sql
Optiuni:
-? --help
-a --all
--add-locks Adauga LOCK TABLES inainte si
UNLOCK
TABLE dupa fiecare dump
--add-drop-table
--allow-keywords
-c --complete-insert
--delayed
-F --flush-logs
-f --force
-h --host=..
-l --lock-tables
-t --no-create-info
-d --no-data
--opt
-p[...] --password[=...]
-P --port=port_num
-q --quick
-T path-to- --tab=path-to- Creaza un fisier .sql si un
fisier .txt cu continutul
some-directory, some-directory tabelei
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--lines-terminated-by=...
-u user_name, --user=
user_name
-w --where=
’where-
condition’

mysqlimport

Este o interfata in linie de comanda pentru comanda SQL LOAD DATA INFILE. Sintaxa:

mysqlimport [options] database textfile1 [textfile2....]

Folosire (cu mysqldump):

mysqldump -T . tracking tabela1


mysql tracking <tabela1.sql
mysqlimport tracking tabela1.txt

Optiuni:
-? --help
-d --delete Goleste tabela inainte de
import
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-
enclosed-by=...
--fields-escaped-by=...
--lines-terminated-by=...
-f --force
-h host_name --host=host_name
-l --lock-tables
-L --local Fisierele sunt pe gazda
clientului
-p[...] --password[=...]
-P port_num --port=port_num
-I --ignore Pentru inregistrari duplicat
(nu sunt luate in seama)
-r --replace Inregistrarile duplicat sunt
inlocuite cu noua
versiune
-s --silent
-u user_name --user=user_name
-c --columns=... Campurile care vor fi
actualizate

Trebuie specificat neaparat una din optiunile --ignore sau --replace, altfel, cand se
vor gasi inregistrari duplicat in tabela si-n fiserul text se va genera o eroare.