Les variables système
La liste des variables système MySQL se trouve http://dev.mysql.com.
Il y est indiqué si ces variables sont dynamique ou non, si elle le sont, vous pouvez les changer a chaud (ne pas oublier de mettre a jour le fichier de configuration MySQL 😉 ).
[Lire]Lister toutes les tables/base
Cette requête va lister toutes les bases/tables du serveur MySQL en ignorant les " bases " performance_schema et information_schema mais aussi en filtrant les tables dont le nom commence par tmp_ et la table test.
SELECT table_schema, table_name
FROM information_schema.tables
WHERE table_schema NOT IN ('performance_schema','information_schema')
AND table_name NOT REGEXP '^tmp_|^test$
ORDER BY table_schema;
Vous pouvez filtrer sur tout ce qui est dans la table " tables "
desc tables;
+-----------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------------+------+-----+---------+-------+
| TABLE_CATALOG | varchar(512) | YES | | NULL | |
| TABLE_SCHEMA | varchar(64) | NO | | | |
| TABLE_NAME | varchar(64) | NO | | | |
| TABLE_TYPE | varchar(64) | NO | | | |
| ENGINE | varchar(64) | YES | | NULL | |
| VERSION | bigint(21) unsigned | YES | | NULL | |
| ROW_FORMAT | varchar(10) | YES | | NULL | |
| TABLE_ROWS | bigint(21) unsigned | YES | | NULL | |
| AVG_ROW_LENGTH | bigint(21) unsigned | YES | | NULL | |
| DATA_LENGTH | bigint(21) unsigned | YES | | NULL | |
| MAX_DATA_LENGTH | bigint(21) unsigned | YES | | NULL | |
| INDEX_LENGTH | bigint(21) unsigned | YES | | NULL | |
| DATA_FREE | bigint(21) unsigned | YES | | NULL | |
| AUTO_INCREMENT | bigint(21) unsigned | YES | | NULL | |
| CREATE_TIME | datetime | YES | | NULL | |
| UPDATE_TIME | datetime | YES | | NULL | |
| CHECK_TIME | datetime | YES | | NULL | |
| TABLE_COLLATION | varchar(32) | YES | | NULL | |
| CHECKSUM | bigint(21) unsigned | YES | | NULL | |
| CREATE_OPTIONS | varchar(255) | YES | | NULL | |
| TABLE_COMMENT | varchar(80) | NO | | | |
+-----------------+---------------------+------+-----+---------+-------+
Lister les tables en InnoDB/MyISAM
Voici la requête SQL :
SELECT table_schema, table_name, engine
FROM information_schema.tables
WHERE table_schema NOT IN ('performance_schema','information_schema')
AND engine != 'NULL
ORDER BY table_schema;
Compter le nombres de tables en InnoDB/MyISAM
Voici la requête SQL :
SELECT engine, COUNT(engine) AS 'nb tables
FROM information_schema.tables
WHERE engine NOT IN ('NULL','CSV','MEMORY','PERFORMANCE_SCHEMA')
GROUP BY engine;
Installer son FAMP (FreeBSD Apache MySQL PHP)
Un “FAMP” est une plateforme Apache/PHP/MySQL installé sur une FreeBSD 😉 et oui, ce n’est pas un L_inux_AMP !
Apache
cd /usr/ports/www/apache22/
make config install distclean
echo 'apache2_enable="YES"' >> /etc/rc.conf
echo 'apache2ssl_enable="YES"' >> /etc/rc.conf
echo 'accf_http_ready="YES"' >> /etc/rc.conf && kldload accf_http
PHP
cd /usr/ports/lang/php5
make config install distclean
cd /usr/ports/lang/php5-extensions
make config install distclean
MySQL
cd /usr/ports/databases/mysql51-server
make install WITH_OPENSSL=yes
make distclean
echo 'mysql_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/mysql-server start
/usr/local/bin/mysql_secure_installation
Générer un dump par base MySQL
Le script va générer generer les sql pour, creer les base, table, les remplirs, les vues/fonctions, les comptes MySQL
[Lire]Exporter une base SQLite pour l'importer dans une base MySQL
Voici comment procéder pour faire un dump de votre base SQLite dans le bute de l’importer dans une base MySQL
Dump de la structure SQLite
echo ".sch" | sqlite /etc/appli/db.sqlite > /tmp/db.sql
Dump des données
echo ".dump" | sqlite /etc/appli/db.sqlite >> /tmp/db.sql
Import MySQL
mysql -umonuser -p mabase < /tmp/db.sql