MySQL/Manipulation de base
Création.
 CREATE DATABASE Nom_de_la_base;
codice_1 permet de le faire en ligne de commande.
NB : dans MySQL, codice_2 est un parfait synonyme de codice_3, contrairement à d'autres SGBD comme Oracle ou SQL Server.
Suppression.
 DROP DATABASE Nom_de_la_base;
codice_4 permet de le faire en ligne de commande. Le paramètre codice_5 force celle-ci sans poser de question.
Renommage.
Dans les versions 5.1.x il existait une commande codice_6, mais elle a été retirée suite à des pertes de données.
Il reste toutefois la ligne de commande pour le faire en plusieurs étapes :
 mysqladmin create Nom_de_la_nouvelle_base
 mysqldump --opt Nom_de_la_base | mysql Nom_de_la_nouvelle_base
 mysqladmin drop -f Nom_de_la_base
Une autre option avec les droits root, est de renommer le répertoire de la base :
 cd /var/lib/mysql/
 /etc/init.d/mysql stop
 mv Nom_de_la_base/ Nom_de_la_nouvelle_base/
 /etc/init.d/mysql start
Après renommage, il convient de migrer les permissions :
 UPDATE mysql.db SET `Db`='Nom_de_la_nouvelle_base' WHERE `Db`='Nom_de_la_base';
 FLUSH PRIVILEGES;
Copie.
Avec des outils de modélisation.
Ces logiciels permettent de représenter les tables sous formes de diagrammes.
MySQL Workbench.
 permet également la migration depuis d'autres bases de données, telles que .
Par rapport à phpMyAdmin, il a l’inconvénient de devoir être installé, mais a l'avantage de pouvoir modifier des tables en changeant de champ au clavier, comme dans un tableur.
DBDesigner.
 est en licence GNU GPL, mais ne peut pas être considéré comme un freeware car il requiert un compilateur non gratuit.
Il rencontre une erreur de connexion à MySQL sur la version 4 : "unable to load libmysqlclient.so". Pour la résoudre :
Sous Linux :
 sudo ln -sf /usr/lib/libmysqlclient.so.10 /usr/lib/DBDesigner4/libmysqlclient.so
 rpm2cpio x.rpm | cpio -i
 sudo cp libXft.so.1.1 /usr/lib
 ldconfig
Maintenant DBDesigner4 peut se connecter à MySQL5.
Kexi.
Il existe aussi Kexi de , téléchargeable sur http://userbase.kde.org/Calligra/Download/fr.
OpenOffice Base et ODBC.
Configuration typique :
Sur le client, installer codice_10 :
 aptitude install mysql-client
Sous Fedora/CentOS :
 yum install mysql
Avant d'installer ODBC, test la connexion distante localement :
 $ mysql -h mysqlhost -u user1 mysqldatabase -p
 Enter password: PassUser1
Il faut créer la base codice_11 et l'utilisateur codice_12 sur codice_9.
 mysql> show databases;
 | Database |
 | information_schema |
 | mysqldatabase |
 2 rows in set (0.00 sec)
 mysql> quit;
 Bye
Toujours sur la machine cliente :
 aptitude install libmyodbc unixodbc
Pour Fedora/CentOS :
 yum install mysql-connector-odbc unixODBC
Les fichiers codice_14 et codice_15 sont créés.
codice_16 déclare le pilote ODBC disponible.
Exemple pour Debian :
 [MySQL]
 Description = MySQL driver
 Driver = /usr/lib/odbc/libmyodbc.so
 Setup = /usr/lib/odbc/libodbcmyS.so
 CPTimeout =
 CPReuse =
 FileUsage = 1
Pour CentOS :
 [MySQL]
 Description = ODBC for MySQL
 Driver = /usr/lib/libmyodbc3.so
 Setup = /usr/lib/libodbcmyS.so
 FileUsage = 1
Maintenant codice_17 est utilisable :
 # odbcinst -j
 unixODBC 2.2.4
 DRIVERS...: /etc/odbcinst.ini
 SYSTEM DATA SOURCES: /etc/odbc.ini
 USER DATA SOURCES..: /root/.odbc.ini
Pour d'autres options : codice_18
Il faut créer au moins un ("Data Source Name" ou "Data Set Name"), parce que chaque connexion ODBC avec OOo est initialisée avec.
Pour créer un DSN, il existe différente possibilités :
Finalement, ces applications graphiques modifient /etc/odbc.ini ou ~/.odbc.ini.
Par exemple, un fichier codice_14 (le nom du DSN est entre crochets []) :
 [MySQL-test]
 Description = MySQL ODBC Database
 TraceFile = stderr
 Driver = MySQL
 SERVER = mysqlhost
 USER = user1
 PASSWORD =
 DATABASE = mysqldatabase
Dans ce cas, le DSN est appelé MySQL-test.
Ensuite pour tester, utiliser la commande isql : 
 $ isql -v MySQL-test user1 PassUser1
 | Connected! |
 | sql-statement |
 | help [tablename] |
 | quit |
 +---------------------------------------+
 SQL> show databases;
 | Database |
 | information_schema|
 | mysqldatabase |
 2 rows affected
 2 rows returned
 SQL> quit;
Depuis OOo :
 -> File
 -> New
 -> Database
 -> Connecting to an existing database
 -> MySQL
 -> Next
 -> Connect using ODBC
 -> Next
 -> Choosing a Data Source
 -> MySQL-test
 -> Next
 -> Username : user1 (tick "password required")
 -> Yes, register the database for me
 -> Finish
À ce stade, le programme est connecté à la base "mysqldatabase" en tant que "user1". Il reste donc le mot de passe à rentrer.
Ensuite, Java est requis dans les Wizards uniquement (lors de création directe JRE est inutile) :
Les distributions GNU/Linux fournissent généralement OpenOffice avec IcedTea (codice_24/codice_25) ou GCJ (codice_26/codice_27) donc les fonctionnalités basées sur du Java fonctionnent.
Restauration.
 mysql -h localhost -u root -p MaBase < MaBase.sql
 "C:\Program Files (x86)\EasyPHP\binaries\mysql\bin\mysql.exe" -h localhost -u root MaBase < MaBase.sql
Contrairement aux importations de PhpMyAdmin il n'y a pas de limite. Par exemple on peut charger une base de 2 Go en cinq minutes.
À partir d'un fichier compressé :
 gunzip < ~/my_dump.xml.gz | mysql -u my_user -p my_base