MySQL
MySQL — это бесплатная популярная система для работы с реляционными базами данных. Она часто используется в сочетании с веб-приложениями (например, многими сайтами на PHP), но с момента начала разработки в 1994 году она получила и множество других возможностей. Также есть форк MariaDB.
Установка
USE-флаги
Перед установкой dev-db/mysql, тщательно рассмотрите USE-флаги, которые влияют на развертывание и возможности пакета. Следующая таблица показывает некоторые из поддерживаемых данным пакетом USE-флагов:
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
Как только необходимые USE-флаги были установлены, установите MySQL:
root #
emerge --ask dev-db/mysql
Конфигурация
Сервис
OpenRC
Чтобы база(ы) данных запускались автоматически при загрузке, добавьте init скрипт mysql на уровень запуска default (по умолчанию):
root #
rc-update add mysql default
После настройки базы данных, про которую будет написано далее в данном документе, запустите сервис mysql:
root #
rc-service mysql start
Предварительная настройка
Пакет dev-db/mysql выполняет предварительную настройку MySQL через параметр --config
:
root #
emerge --config dev-db/mysql
Это приведет к созданию базы данных, установке на нее правильных разрешений, и помощи в выборе хорошего пароля для root (это для аккаунта пользователя root в MySQL, который не связан с аккаунтом root в Linux).
Чтобы убрать анонимных пользователей и тестовые базы данных из установки, запустите mysql_secure_installation после предварительной настройки:
root #
mysql_secure_installation
Настройка внутри базы данных
Когда база данных запущена, соединитесь с ней, используя клиентское приложение 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>
После данного сообщения будет открыта сессия MySQL, позволяющая вводить запросы и административные команды.
Стирание истории команд
По умолчанию MySQL ведет лог каждого действия, включая незашифрованные пароли в своем файле истории.
Чтобы удалить файл истории:
root #
rm /root/.mysql_history
Либо вы можете полностью отключить запись истории с помощью следующей команды:
root #
ln -sf /dev/null /root/.mysql_history