Différences entre versions de « Sql install »
Ligne 218 : | Ligne 218 : | ||
# chkconfig postgresql on | # chkconfig postgresql on | ||
</pre> | </pre> | ||
+ | |} | ||
+ | |||
+ | = Faire un dump = | ||
+ | On appelle dump, une sauvegarde de la base à un instant ''T''. Cette sauvegarde, qui se fait dans un fichier est destinée à être exportée sur une autre machine, soit pour une sauvegarde, soit pour un redéploiement (migration de serveur) | ||
+ | {|align="center" border="1" | ||
+ | |-align="center" | ||
+ | || MySQL || PostGreSQL | ||
+ | |-valign="top" | ||
+ | || | ||
+ | <pre> | ||
+ | # mysql --host $host --user $user --password $pass $dbname > $outfile | ||
+ | </pre> | ||
+ | *''$host'' → nom de la machine où se trouve la base de données; | ||
+ | *''$user'' → nom d'utilisateur ayant accès au données à ''dumper''; | ||
+ | *''$pass'' → mot de passe associé à l'utilisateur; | ||
+ | *''$dbname'' → nom de la base de données; | ||
+ | *''$outfile'' → nom du fichier contenant le ''dump''. | ||
+ | || | ||
+ | <pre> | ||
+ | pg_dump $dbname > $outfile | ||
+ | </pre> | ||
+ | *''$dbname'' → nom de la base de données; | ||
+ | *''$outfile'' → nom du fichier contenant le ''dump''. | ||
|} | |} |
Version du 3 mai 2014 à 22:32
Introduction
En informatique, une base de données relationnelle est un stock d'informations décomposées et organisées dans des matrices appelées relations ou tables conformément au modèle de données relationnel. Le contenu de la base de données peut ainsi être synthétisé par des opérations d'algèbre relationnelle telles que l'intersection, la jointure et le produit cartésien.
Une base de données est un ensemble d'informations, connexes de manière directe ou indirecte, enregistrées dans un dispositif informatique. Dans une base de données relationnelle, les informations sont stockées sous forme de groupe de valeurs : les enregistrements. Un ensemble d'enregistrements relatif à un sujet forme une relation et est stocké dans une table. La base de données comporte une ou plusieurs tables et les sujets sont connexes.
Le modèle de données relationnel permet d'utiliser les opérateurs de l'algèbre relationnelle pour retrouver une information quelconque stockée dans la base de données, ainsi que les informations connexes.
Nous allons installer parallèlement une base de données MySQL et PostGreSQL. Si vous vous demandez quelle est la différence entre les deux, c'est grossièrement une histoire de taille. Plus la base de données est grosse, plus il faudra opter pour PostGreSQL et inversement, pour faire un petit site Web, MySQL suffit largement.
Je vous laisse juger par vous-même ici
Installation
MySQL | PostGreSQL |
yum -y install mysql-server mysql |
yum -y install postgresql-server |
Premier démarrage
Cette étape varie en fonction du SGBDR. Pour MySQL on va d'abord démarrer le moteur et ensuite l'initialiser alors que pour PostGreSQL c'est l'inverse.
MySQL
Démarrage | Initialisation |
# service mysqld start Initialisation de la base de données MySQL : Installing MySQL system tables... OK Filling help tables... OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h web1 password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd /usr ; /usr/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd /usr/mysql-test ; perl mysql-test-run.pl Please report any problems with the /usr/bin/mysqlbug script! [ OK ] Démarrage de mysqld : [ OK ] |
# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. Set root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL! |
PostGreSQL
Initialisation | Démarrage | Changement de mot de passe |
# service postgresql initdb Initialisation de la base de données : [ OK ] |
# service postgresql start Démarrage du service postgresql : [ OK ] |
# su postgres bash-4.1$ psql psql (8.4.20) Type "help" for help. postgres=# \password postgres Enter new password: Enter it again: postgres=# \q
|
Outils d'administration
Avant d'aller plus loin, assurez-vous d'avoir installé le dépôt EPEL.
Ce dépôt va nous permettre d'installer phpMyAdmin pour MySQL et phpPgAdmin pour PostGreSQL qui sont des interfaces Web d'administration.
MySQL | PostGreSQL |
# yum -y install phpmyadmin |
# yum -y install phpPgAdmin Éditez le fichier /etc/phpPgAdmin/config.inc.php pour changer :
Enfin, éditez le fichier /var/lib/pgsql/data/pg_hba.conf pour changer tous les ident par des password |
Vous pouvez maintenant accéder au site à l'URL suivante
MySQL | PostGreSQL |
Enregistrement dans le chargeur de démarrage
MySQL | PostGreSQL |
# chkconfig mysqld on |
# chkconfig postgresql on |
Faire un dump
On appelle dump, une sauvegarde de la base à un instant T. Cette sauvegarde, qui se fait dans un fichier est destinée à être exportée sur une autre machine, soit pour une sauvegarde, soit pour un redéploiement (migration de serveur)
MySQL | PostGreSQL |
# mysql --host $host --user $user --password $pass $dbname > $outfile
|
pg_dump $dbname > $outfile
|