MySQL
MySQL es un popular sistema de gestión de bases de datos relacionales de software libre. A menudo se utiliza junto con aplicaciones web (como muchos sitios basados en PHP), sin embargo desde su inicio en 1994 se le han agregado muchas funciones empresariales. Una bifurcación alterna es MariaDB.
Instalación
Ajustes USE
Antes de instalar dev-db/mysql, considere cuidadosamente los ajustes USE, los cuales influyen en la implementación y las características del paquete. La siguiente tabla ofrece una descripción general de los ajustes USE admitidos:
USE flags for dev-db/mysql A fast, multi-threaded, multi-user SQL database server
+perl
|
Add optional support/bindings for the Perl language |
+server
|
Build the server program |
cjk
|
Add CJK support for InnoDB fulltext search using app-text/mecab |
client-libs
|
Build the client libraries from the server package instead of the C Connector packages (not recommended) |
cracklib
|
Support for cracklib strong password checking |
debug
|
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces |
experimental
|
Build experimental features aka "rapid" plugins |
jemalloc
|
Use dev-libs/jemalloc for memory management |
latin1
|
Use LATIN1 encoding instead of UTF8 |
numa
|
Enable NUMA support using sys-process/numactl (NUMA kernel support is also required) |
profiling
|
Add support for statement profiling (requires USE=community). |
router
|
Build the MySQL router program |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
static
|
!!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically |
static-libs
|
Build static versions of dynamic libraries as well |
systemtap
|
Build support for profiling and tracing using dev-debug/systemtap |
tcmalloc
|
Use the dev-util/google-perftools libraries to replace the malloc() implementation with a possibly faster one |
test
|
Install upstream testsuites for end use. |
Emerge
Una vez los ajustes USE apropiados estén establecidos, instale MySQL:
root #
emerge --ask dev-db/mysql
Configuración
Servicio
OpenRC
Para que las bases de datos se inicien automáticamente en el arranque, agregue el script de inicio de mysql al nivel de ejecución predeterminado:
root #
rc-update add mysql default
Luego de configurar la base de datos, mencionado más adelante en este documento, inicie el servicio mysql:
root #
rc-service mysql start
Configuración preliminar
El paquete dev-db/mysql maneja la configuración preliminar de MySQL a través de la opción --config
:
root #
emerge --config dev-db/mysql
Esto creará una base de datos, otorgará los permisos adecuados y ayudar en crear una clave root adecuada (esto es para el root de la cuenta MySQL, la cual no esta relacionada con la cuenta root de Linux)
Para hacer una purga de usuarios anóninimos y probar la instalación de la base de datos, corra mysql_secure_installation luego de realizar la configuración preliminar.
root #
mysql_secure_installation
Configuración en la base de datos
Cuando la base de datos esté en funcionamiento, conéctese a ella mediante la aplicación del cliente mysql.
user $
mysql -u root -p -h localhost
Enter root password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 5.5.1 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
A partir de este punto, esta abierta una nueva cesión de la instancia de MySQL, permitiendo la atención de consultas y comandos administrativos.
Borrar el historial de comandos
Por defecto MySQL registra cada acción, incluso dejar contraseñas en formato plano de texto en su archivo de historial.
Para eliminar el archivo de historial:
root #
rm /root/.mysql_history
Alternativamente, puede deshabilitar permanentemente el registro del historial con lo siguiente:
root #
ln -sf /dev/null /root/.mysql_history