Установка и настройка серверов Linux,создание сайтов, установка и настройка Asterisk PBX, Linux для начинающих и не только.
Получать статьи этого сайта на почту:

 

08
Dec 2015
sergldom
автор
0
комментариев
Рейтинг статьи:
5
Average: 4.8 (4 votes)

Запускаем несколько MYSQL серверов на одном физическом сервере

   В данной инструкции мы запустим несколько баз данных Mysql на одном физическом сервере используя установленную версию Mysql-5.5. Запуск нескольких Mysql серверов на одном сервере бывает нужно для того, чтобы запустить репликацию на одном, либо дать доступ кому либо (програмист, друг, клиент) к отдельной чистой Mysql базе данных. Настройка базы проводится на операционной системе Debian GNU/Linux.

   Создаем директории для данных и логов

   Нам необходимо создать новую директорию для данных и лог файлов. Также нужно назначить правильные права на эти папки:

mkdir /var/lib/mysql2
chown -R mysql:mysql /var/lib/mysql2/
mkdir /var/log/mysql2
chown -R mysql:mysql /var/log/mysql2

   Далее нам необходимо создать новый конфигурационный файл. Мы можем скопировать существующий конфиг и изменить необходимые значения. В моём дистрибутиве Debian конфигурационный файл лежит в /etc/mysql/my.cnf:

cp -R /etc/mysql/ /etc/mysql2

   Далее нам необходимо отредактировать конфигурационный файл и внести изменения как минимум в параметры mysql port (по умолчанию 3306), pid и socket, и также директории данных и логов:

sed -i 's/3306/3307/g' /etc/mysql2/my.cnf
sed -i 's/mysqld.sock/mysqld2.sock/g' /etc/mysql2/my.cnf
sed -i 's/mysqld.pid/mysqld2.pid/g' /etc/mysql2/my.cnf
sed -i 's/var\/lib\/mysql/var\/lib\/mysql2/g' /etc/mysql2/my.cnf
sed -i 's/var\/log\/mysql/var\/log\/mysql2/g' /etc/mysql2/my.cnf

   Проводим инициализацию чистой базы данных:

mysql_install_db --user=mysql --datadir=/var/lib/mysql2/

   Запускаем новую копию mysql сервера:

mysqld_safe --defaults-file=/etc/mysql2/my.cnf &

   Подключиться к ней можно используя команды:

mysql -S /var/run/mysqld/mysqld2.sock

либо:

mysql -h 127.0.0.1 -P 3307

   Если работа данной базы больше не нужна, останавливаем её выполнив команду:

mysqladmin -S /var/run/mysqld/mysqld2.sock shutdown

   Обязательно используйте "127.0.0.1" вместо "localhost".  Иначе вместо подключения к нужному порту будет задействован сокет по умолчанию. А это будет совсем не тот экземпляр сервера, который Мы создали.

   Создаем пароль root для второй версии mysql базы, для этого выполним команду предварительно заменив pass_mysql на свой пароль базы данных:

mysqladmin --host=127.0.0.1 --port=3307 -u root password 'pass_mysql'

   Подключаемся к базе используя пароль root:

mysql -h 127.0.0.1 -P 3307 -u root -ppass_mysql

   Чтобы сменить пароль пользователя root базы данных mysql выполнив команду в консоли базы данных:

update user set password=PASSWORD("new_pass") where User='root';

   Теперь добавим запуск и остановку второй версии mysql, для этого необходимо внести в файл запуска mysql:

vi /etc/init.d/mysql

было:

...
            # Start MySQL!
            /usr/bin/mysqld_safe > /dev/null 2>&1 &
...

стало:

...
            # Start MySQL-1!
            /usr/bin/mysqld_safe > /dev/null 2>&1 &

            # Start MySQL-2!
            /usr/bin/mysqld_safe --defaults-file=/etc/mysql2/my.cnf > /dev/null 2>&1 &
...

было:

  'stop')
        # * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible
        # at least for cron, we can rely on it here, too. (although we have
        # to specify it explicit as e.g. sudo environments points to the normal
        # users home and not /root)
        log_daemon_msg "Stopping MySQL database server" "mysqld"
        if ! mysqld_status check_dead nowarn; then
          set +e
          shutdown_out=`$MYADMIN shutdown 2>&1`; r=$?

стало:

  'stop')
        # * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible
        # at least for cron, we can rely on it here, too. (although we have
        # to specify it explicit as e.g. sudo environments points to the normal
        # users home and not /root)
        log_daemon_msg "Stopping MySQL database server" "mysqld"
        if ! mysqld_status check_dead nowarn; then
          set +e
            # Shutdown MySQL-1!
          shutdown_out=`$MYADMIN shutdown 2>&1`; r=$?

            # Shutdown MySQL-2
          mysqladmin -S /var/run/mysqld/mysqld2.sock shutdown -ppass_mysql_root > /dev/null 2>&1

   Для проверки перегружаем mysql базу выполнив команду:

/etc/init.d/mysql restart

   Подключаемся к второму серверу выполнив команду:

mysql -h 127.0.0.1 -P 3307 -u root -ppass_mysql

    Запуск и конфигурация второго сервера баз данных Mysql выполнена, на этом примере Вы можете запустить нужное Вам количество сереров, которое только может Вам понадобится и которое выдержит Ваш физический сервер.

    С Вами был Сергей Лазаренко.

   Сделаем небольшой перерыв и посмотрим видео как можно развести костер в глубоком снегу, мало ли когда понадобится такое знание :)

Рейтинг статьи: 

5
Average: 4.8 (4 votes)

Вам понравилась статья? Хотите получать уведомления о выходе новых статей с этого сайта на свой почтовый адрес? Подписывайтесь пожалуйста. Введите свой почтовый адрес и нажмите кнопку Хочу получать статьи!

<![CDATA[]]><![CDATA[]]>

 

*Адреса электронной почты не разглашаются и не предоставляются третьим лицам для коммерческого или некоммерческого использования.

 

 
 

 

Add new comment

Filtered HTML

  • Search Engines will index and follow ONLY links to allowed domains.

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Search Engines will index and follow ONLY links to allowed domains.

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.