MySQL
De OpenWikiBSD.
Sommaire |
Installation
Sous OpenBSD
pkg_add mysql-server cp /usr/local/share/mysql/my-huge.cnf /etc/my.cnf echo "sysctl -w kern.maxfiles=4096 " >> /etc/rc.local <s>echo "/usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/mysql --user=_mysql --socket=/var/www/run/mysql/mysql.sock &" >> /etc/rc.local</s> mkdir -p /var/run/mysql mkdir -p /var/mysql mkdir -p /var/www/var/run/mysql chown _mysql._mysql /var/www/var/run/mysql/ perl -pi -e 's/\/var\/run\/mysql\/mysql\.sock/\/var\/www\/var\/run\/mysql\/mysql\.sock/g' /etc/my.cnf /usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/mysql --user=_mysql --socket=/var/www/var/run/mysql/mysql.sock & ln -s /var/www/var/run/mysql/mysql.sock /var/run/mysql/mysql.sock /usr/local/bin/mysql_install_db
Puis on lance le script de sécurisation (Je passe les détails)
/usr/local/bin/mysql_secure_installation
Enter current password for root (enter for none): {Le mdp est vide pour le moment}
OK, successfully used password, moving on...
Set root password? [Y/n]
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
- Dropping test database...
- Removing privileges on test database...
Reload privilege tables now? [Y/n]
Nouveau sous OpenBSD 4.9 : Mysql se lance désormais par /etc/rc.d/mysqld start
echo "/etc/rc.d/mysqld start" >> /etc/rc.local
Sous FreeBSD
cd /usr/ports/databases/mysql55-server make config install clean echo 'mysql_enable="YES"' >> /etc/rc.conf /usr/local/etc/rc.d/mysql-server start
Configuration
Si vous voulez une connexion simple depuis localhost, créez le fichier qui va bien.
touch /user/.my.cnf echo "[client] password=le password user=root " > /user/.my.cnf chmod 600 /user/.my.cnf chown root.wheel /user/.my.cnf
Puis un simple mysql suffit.
mysql --socket=/var/www/var/run/mysql/mysql.sock
Sécurisation des comptes
sauf qu'à ce point, vous aurez une belle installation toute trouée !
mysql -e "drop database test"
SET PASSWORD FOR 'root'@'FQDN' = PASSWORD('newpwd');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');
SET PASSWORD FOR @'FQDN' = PASSWORD('newpwd');
SET PASSWORD FOR @'localhost' = PASSWORD('newpwd');
Création de comptes
CREATE USER 'USER'@'@IP' IDENTIFIED BY 'PASSWORD';
Installation et configuration de Bdds
mysql> create database MABDD; Query OK, 1 row affected (0.02 sec)
mysql> GRANT ALL PRIVILEGES ON MABDD.* TO 'MONUSER'@'localhost' IDENTIFIED BY 'MDP'; Query OK, 0 rows affected (0.00 sec)
PHP & MySQL chrooté
Sous OpenBSD, Apache est chrooté.
- Pour les applis OAMP, il faut modifier php.ini
perl -pi -e 's/mysql.default_socket =/mysql.default_socket = \/run\/mysql\/mysql.sock/' /var/www/conf/php.ini apachectl stop apachectl startssl

