In questo articolo, esaminiamo come installare MySQL su CentOS usando yum. Invece di cercare e installare mysql e i relativi pacchetti uno per uno, è meglio installare MySQL usando i gruppi yum.
Se sei interessato a installare lo stack LAMP completo, fai riferimento al nostro precedente articolo su come installare/aggiornare LAMP utilizzando yum.
1. Identifica il nome del gruppo dei pacchetti MySQL
yum grouplist visualizza tutti i gruppi di pacchetti disponibili nel repository. Come mostrato di seguito, il gruppo di pacchetti mysql è chiamato "Database MySQL".
# yum grouplist | grep -i mysql MySQL Database
2. Cosa è incluso nel gruppo "Database MySQL"?
yum groupinfo visualizza tutti i pacchetti che sono raggruppati in un gruppo. Vengono visualizzati i pacchetti obbligatori, predefiniti e facoltativi disponibili in quel particolare gruppo.
Come mostrato di seguito, il gruppo "Database MySQL" contiene 1 pacchetto obbligatorio, 6 pacchetti predefiniti e 5 pacchetti opzionali.
# yum groupinfo "MySQL Database" Group: MySQL Database Description: This package group contains packages useful for use with MySQL. Mandatory Packages: mysql Default Packages: MySQL-python libdbi-dbd-mysql mysql-connector-odbc mysql-server perl-DBD-MySQL unixODBC Optional Packages: mod_auth_mysql mysql-bench mysql-devel php-mysql qt-MySQL
3. Installa il gruppo "Database MySQL" utilizzando yum groupinstall
yum groupinstall installerà il gruppo di pacchetti "MySQL Database" come mostrato di seguito.
# yum groupinstall "MySQL Database" Resolving Dependencies Dependencies Resolved Transaction Summary ========================= Install 12 Package(s) Update 0 Package(s) Remove 0 Package(s) Installed: MySQL-python.i386 0:1.2.1-1 libdbi-dbd-mysql.i386 0:0.8.1a-1.2.2 mysql.i386 0:5.0.77-4.el5_4.2 mysql-connector-odbc.i386 0:3.51.26r1127-1.el5 mysql-server.i386 0:5.0.77-4.el5_4.2 perl-DBD-MySQL.i386 0:3.0007-2.el5 unixODBC.i386 0:2.2.11-7.1 Dependency Installed: libdbi.i386 0:0.8.1-2.1 libdbi-drivers.i386 0:0.8.1a-1.2.2 libtool-ltdl.i386 0:1.5.22-7.el5_4 mx.i386 0:2.0.6-2.2.2 perl-DBI.i386 0:1.52-2.el5 Complete!
Nota: Se riscontri problemi durante l'installazione, verifica il log di installazione completo di MySQL per vedere cosa ti manca.
4. Verifica l'installazione di MySQL
Esegui rpm -qa, per confermare che i pacchetti relativi a mysql siano installati.
# rpm -qa | grep -i mysql MySQL-python-1.2.1-1 mysql-5.0.77-4.el5_4.2 mysql-connector-odbc-3.51.26r1127-1.el5 mysql-server-5.0.77-4.el5_4.2 libdbi-dbd-mysql-0.8.1a-1.2.2 perl-DBD-MySQL-3.0007-2.el5
Controlla /etc/passwd e /etc/group per assicurarti che abbia creato un nome utente e un gruppo mysql.
# grep mysql /etc/passwd mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash # grep mysql /etc/group mysql:x:27:
5. Installazione di MySQL Post – Esegui mysql_install_db
Il programma mysql_install_db imposterà le tabelle di concessione necessarie. Il programma mysql_install_db viene eseguito come parte dell'installazione di rpm. Ma non fa male eseguire nuovamente il programma mysql_install_db per assicurarsi che le tabelle di concessione siano impostate correttamente.
# /usr/bin/mysql_install_db --user=mysql Installing MySQL system tables...OK Filling help tables...OK ..... The latest information about MySQL is available on the web at http://www.mysql.com
6. Avvia MySQL Server
# service mysqld status mysqld is stopped # service mysqld start Starting MySQL: [ OK ]
7. Verifica che il server MySQL sia attivo e funzionante.
# /usr/bin/mysqladmin version /usr/bin/mysqladmin Ver 8.41 Distrib 5.0.77, for redhat-linux-gnu on i686 Copyright (C) 2000-2006 MySQL AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.77 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 39 sec Threads: 1 Questions: 2 Slow queries: 0 Opens: 12 Flush tables: 1 Open tables: 6 Queries per second avg: 0.051
# /usr/bin/mysqlshow +--------------------+ | Databases | +--------------------+ | information_schema | | mysql | | test | +--------------------+ # /usr/bin/mysqlshow mysql Database: mysql +---------------------------+ | Tables | +---------------------------+ | columns_priv | | db | | func | | help_category | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+
Arresta e riavvia il server MySQL per assicurarti che non ci siano problemi.
# service mysqld stop Stopping MySQL: [ OK ] # service mysqld start Starting MySQL: [ OK ]
8. Modifica la password dell'account root MySQL
Cambia la password dell'account root MySQL in qualcosa di sicuro.
# mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.0.77 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> select host, user from mysql.user; +-----------+------+ | host | user | +-----------+------+ | 127.0.0.1 | root | | localhost | | | localhost | root | +-----------+------+ 5 rows in set (0.00 sec) mysql> set password for 'root'@'localhost' = PASSWORD('DoNotTell$AnyBody'); Query OK, 0 rows affected (0.00 sec) mysql> set password for 'root'@'127.0.0.1' = PASSWORD('DoNotTell$AnyBody'); Query OK, 0 rows affected (0.00 sec)
Assicurati di essere in grado di accedere a MySQL utilizzando la nuova password come mostrato di seguito.
# mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) # mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 5.0.77 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>