Инсталиране и конфигуриране на MySQL в FreeBSD

  • Какво е новото в MySQL 5.6
  • Инсталиране на MySQL 5.6 на FreeBSD
  • Надграждане MySQL
  • MySQL в FreeBSD - на базата от знания
  • MySQL грешки и техните решения
  • Полезни връзки

Какво е новото в MySQL 5.6

Инсталиране на MySQL 5.6 в FreeBSD, обикновено протича гладко, и тук е актуализация напротив, крие много скрити проблеми (MySQL - инсталация и конфигурация на Windows). Всички примери, описани в статията са тествани върху FreeBSD 8.4.

Инсталиране на MySQL 5.6 на FreeBSD

Обикновено MySQL да инсталирате FreeBSD от пристанищата, но ако сървърът използва за DirectAdmin, а след това с помощта на надстройка програми CustomBuild (/ ЮЕсАр / местни / DirectAdmin / custombuild). Преди да инсталирате, е препоръчително да се актуализира дървото пристанища, как да го направя, е описан тук: работа с пристанищата на FreeBSD. при използване на DA, /usr/local/directadmin/custombuild/options.conf трябва да се преконфигурира и надграждане инсталационни скриптове MySQL ./build актуализира команда.

Предварително инсталирани, можете да конфигурирате базата данни в /etc/make.conf, но не е задължително. За актуализиране на стари версии на базата данни за MySQL 5.6 е написано по-долу.

В DirectAdmin MySQL инсталира, когато инсталирате панела DA и не изисква инсталация от нулата, и процеса на актуализация е описано в раздела "Обновяване на MySQL".

Ustvnovka MySQL 5.6 портове на FreeBSD

Отивате на портовете за бази данни директория
# Cd / ЮЕсАр / пристанища / бази данни /

Изберете достъпно MySQL версия
# Find. -name "MySQL * -server"
./ Mysql56-сървър
./ Mysql50-сървър
./ Mysql51-сървър
./ Mysql55-сървър
./ Mysql41-сървър

Отивате до директорията, до пристанището, MySQL 5.6 srver
# Cd / ЮЕсАр / пристанища / бази данни / mysql56-сървър

Задайте mysql56-сървър
# Направете инсталирате чиста

ъпгрейд пътеки
#rehash

Копирайте главния конфигурационен файл на MySQL
# Cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf

Създаване на фаловете база данни по подразбиране (необходима за сървъра MySQL)
# CP / ЮЕсАр / местни / MySQL / скриптове / mysql_install_db / ЮЕсАр / местни / MySQL / mysql_install_db
# / ЮЕсАр / местни / MySQL / mysql_install_db

Задаване на разрешения за базата данни MySQL
# Chown -R MySQL: MySQL / Var / db / MySQL

Добави автоматично стартиране на MySQL на FreeBSD
# Ехо "mysql_enable =" YES "" >> /etc/rc.conf

Стартиране на MySQL сървър
# /usr/local/etc/rc.d/mysql-server старт

Задаване на парола за корен MySQL
# Mysqladmin -u корен парола "нова парола за корен"

Свързване с базата данни
# Mysql -u корен -р
Въведете парола: нова парола за корен

Преходът към MySQL база данни за конфигурацията
MySQL> използване на MySQL

Изтрийте всички ненужни потребителите, че има само един корен с нова, просто зададете парола
! Mysql> Изтриване от потребителя, когато ползвателят = 'корен';

В тази първоначална конфигурация и инсталация на MySQL 5.6 е завършена. Ако има грешка или сървъра MySQL не започва, вижте "Полезна информация за MySQL" по време на процеса на инсталация, която е на разположение в тази статия.

Надграждане MySQL

Преди обновяване на MySQL 5.6 в FreeBSD е необходимо да създадете резервно копие на всички бази данни. Това може да стане по много начини, като просто се движат в базата данни директория (по пътя, посочен в раздел "Полезна информация за MySQL" по-долу) в дома си директория, след спирането на сървъра на базата данни. В DirectAdmin имате начин за персонализиране на актуализацията, така че преди да го запазва автоматично резервно копие на базата данни - е отговорен за двете директиви в /usr/local/directadmin/custombuild/option.conf: mysql_backup = да, mysql_backup_dir = / ЮЕсАр / местни / DirectAdmin / custombuild / mysql_backups.

Самият процес на надстройка се свежда до отстраняване на версията на пристанището MySQL старата и да инсталирате новата. Инсталационният процес е описано подробно в статията "Инсталиране на MySQL 5.6 в FreeBSD".

Премахване версия на MySQL старата, набор от портове

# Cd / ЮЕсАр / пристанища / бази данни / mysql50-сървър /
# Направи деинсталирате
# Cd / ЮЕсАр / пристанища / бази данни / mysql50-клиент /
# Направи деинсталирате

След успешна инсталация на новата версия, ако е необходимо, трябва да се върнете директорията, съдържаща данни MySQL таблици на старата версия на (MySQL сървър в този момент трябва да бъде спрян). Във всеки случай, не е необходимо да се върне в директорията с файловете на новата версия на файловете, MySQL в главната директория, като например :. Ib_logfile0, ib_logfile1 т.н. След като се връщат на масите се нуждаят, за да стартирате помощната програма mysql_upgrade. което ще доведе до система маса "MySQL" към новата версия на сървъра MySQL (например, се добавят версия 5.5 на нови колони в таблиците на системата, по отношение на версия 5.1, структурата на таблици 5.5 и 5.6, както и, различно) и стартирате MySQL-сървър.

Ако не изпълните mysql_upgrade, като версията за надстройка 5.1-5.5 сървър на база данни ще работи, но искането Разрешете всички привилегии ON *. * На "супер" @ "Localhost" С ПРЕДОСТАВЯНЕ ВАРИАНТ; не успее Отказан достъп за потребител "корен" @ "Localhost" (с помощта на парола: YES) се дължи на факта, че официалните MySQL таблици не съдържат задължителните графи. Също така, няма други забележими на пръв поглед, за грешка на базата данни.

При използване на актуализацията DA осъществява командването / ЮЕсАр / местни / DirectAdmin / custombuild / натрупване MySQL г. В този случай също така, както и в актуализирането на пристанищата, трябва първо да се почисти или да се премести на директорията / Начало / MySQL /, да стартира нова версия и се уверете, че тя работи, и след това данните за връщане в базата данни.

След актуализиране на MySQL трябва да актуализирате скриптове използвани, за да се свърже с базата данни в PHP. На потребителите могат просто да се актуализира в прокуратурата като цяло PHP: / ЮЕсАр / местни / DirectAdmin / custombuild / натрупване PHP г.

MySQL в FreeBSD - на базата от знания

Scripts старт / стоп MySQL:

# /usr/local/etc/rc.d/mysql-server старт
# /usr/local/etc/rc.d/mysql-server спре

Имената DA за пускане и спиране на MySQL скриптове се различават:
/usr/local/etc/rc.d/mysqld започнете
/usr/local/etc/rc.d/mysqld спре

Виж, ако mysqd бягане: # к.с. брадва | Впиши MySQL

Регистрационен файл по подразбиране MySQL-сървър се намира тук: /var/db/mysql/HOSTNAME.err, DirectAdmin променя пътя към дефилето на /home/mysql/HOSTNAME.err. HOSTNAME - сървър на име на хост, на която MySQL.

Конфигуриране на дневника за място за съхранение на заявката и дневника може да забави заявка с директивата за вход изход в my.cnf. Ако зададете вход изход = масата, след това трупите ще се съхраняват в база данни с име "MySQL" и съответните таблици: general_log и slow_log.

Активиране и деактивиране на главния регистър MySQL, което ще бъде записано абсолютно всички искания не могат да рестартирате сървъра с базата данни:

Поставя глобални general_log = 'ON';
Поставя глобални general_log = 'OFF';

Имайте предвид, че натоварването на сървъра, влезте заявки MySQL ще бъде много бързо razrostatsya, така че го оставете включен за дълго време не е необходимо.

Пътят до базата данни. / Var / db / MySQL / (DirectAdmin - / Начало / MySQL /).

Пътят към конфигурация MySQL my.cnf по делото. /etc/my.cnf.

Добавяне на потребител с пълен достъп:

Създаване на потребител "супер" @ "Localhost" определени от "PASS";
Разрешете всички привилегии ON *. * На "супер" @ "Localhost" С ПРЕДОСТАВЯНЕ ВАРИАНТ;
# PASS - трябва да бъдат заменени с парола за потребител суперпотребител
# Достъпа на потребителя суперпотребител е само от локалния компютър
# За да отворите достъп до супер-потребител от мрежата, трябва да добавите нов потребител
# И замени Localhost да%

Промяна / възстановяване на администраторската парола в MySQL, без да има академична справка с цялата ПРИВИЛЕГИИ:

# Mysqladmin -u корен парола "нова парола"

За да промените администраторската парола, можете да използвате друг начин: да започне MySQL с възможност за забрана на проверката за достъп, влезте като основен без парола и да промените паролата на SQL заявка за (например за база данни, инсталирана Direktadminom, но това може лесно да се променя с помощта на материали от този раздел и за MySQL набор от портове):

# /usr/local/etc/rc.d/mysqld спре
# Cd / ЮЕсАр / местни / MySQL / хамбар /
# ./mysqld_safe --skip-грант-маси
# Mysql -uroot

използване на MySQL
UPDATE потребителското SET парола = ПАРОЛА # 40; "НОВА ПАРОЛА" # 41; Когато ползвателят = 'корен;
FLUSH ПРИВИЛЕГИИ;
напускам

Сега ние откриваме процесите на номера PID MySQL
# Пс брадва | Впиши MySQL
1 0 69349 I: 00.01 / хамбар / од ./mysqld_safe --skip-грантови маси
1 0 69583 I: 00.09 / ЮЕсАр / местни / MySQL / хамбар / Mysqld --basedir = / ЮЕсАр / местни / MySQL --datadir = / ЮЕсАр / местни / MySQL / данни --plugin-реж = / ЮЕсАр / местни
69787 1 S + 0: 00,00 Впиши MySQL

На следващо място, трябва първо да спре процеса ./mysqld_safe --skip-грантови маси, а след това / ЮЕсАр / местни / MySQL / хамбар / Mysqld
# Убие -9 69349
# Убие -9 69583
процесни номера в системата ви ще са различни!

Ако спрете в началото не е процес - / ЮЕсАр / местни / MySQL / хамбар / Mysqld, той няма да спре, а просто се рестартира, и така ще бъде за неопределено време, докато процесът ./mysqld_safe --skip-грантови маси ще бъдат спрени.

MySQL грешки и техните решения

Не можем да стартираме сървъра. Завържи на UNIX контакт: Разрешението е отказано

MySQL работи, работи няколко секунди и след това спира. MySQL Регистрационният открити съответствие с тези грешки:

[Грешка] не може да се стартира сървъра. Завържи на UNIX контакт: Разрешението е отказано
[Грешка] Имате ли вече друг Mysqld сървър работи на контакт: /tmp/mysql.sock?
[Грешка] Прекъсване

съобщение за грешка, съобщава, че достъп до MySQL гнездо е забранено. За да споделите, трябва да промените разрешенията на дадена директория / ПТУ:

# Коригират коригират 1777 / TMP
Преглед на промените
# Ls -ld / TMP
drwxrwxrwt корен колело 512 / TMP

Тази грешка може да възникне след прехвърлянето FreeBSD от един HDD на друг. Обикновено, когато такова прехвърляне, директорията / ПТУ не се копира, а когато го монтаж в новата система забравяйте да конфигурирате права за достъп.

Как да спрем mysqld_safe?

За да спрете mysqld_safe трябва да намерите PID на скрипта, работещ на базата данни, а само след това ще спре процеса на MySQL, или команда на смъртността -9 PID процес няма да се спре и да се рестартира, и така нататък до безкрайност. Описание процес спирка mysqld_safe вижте "Полезна информация за MySQL" и подраздел "Промяна / възстановяване на администраторската парола в MySQL".

Полезни връзки