MySQL

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page MySQL and the translation is 100% complete.

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

Смотрите также