Перенос большой базы данных MySQL

Понадобилось перенести огромную mysql базу данных, на другой сервер. Всего объем : 18гб, около 266 млн. записей.

Стандартными средствами phpMyadmin, не возможно это сделать, не поможет и известный скрипт Sypex Dumper.

Но мы можем воспользоваться средствами MySQL через SSH.

1.  Подключаемся по SSH к серверу куда нам нужно перенести вашу БД.

ssh user_name@server_ip

2. Импортируем базу в файл sql:

mysqldump -hserver_ip -uuser_name -p db_name>db_name.sql

3. Экспортировать бд:

mysql -uuser_name -p db_name < db_name.sql

Вся процедура заняла около 2х часов.

Не работает phpMyAdmin после установки ISPConfig 3

Снимок экрана от 2017-07-11 17-04-24

Если вдруг, вы столкнулись с такой же проблемой как и я: при открытии phpMyAdmin, в браузере загружается файл index.php, то есть простой способ решения.
Открываем для редактирования файл:

$ sudo nano /etc/apache2/mods-available/suphp.conf

И закомментим в нем следующие строки:

$
#<FilesMatch "\.ph(p3?|tml)$">
# SetHandler application/x-httpd-suphp
#</FilesMatch>

Сохраняемся, закрываем файл. Перезагрузим апач:

$ sudo service apache2 restart

Установка и настройка Apache, PHP, MySQL, phpMyAdmin на Ubuntu 14.04 LTS + 16.04 LTS

UPD. Статья обновлена до актуальной версии 24.08.2016
Однажды я уже писал статью, о том как установить  Lamp  на убунту, но с тех пор многие компоненты изменились, и соответственно, их установка изменилась.

Большинство команд выполняем в терминале (Ctrl+Alt+T)

Шаг 1. Установка Apache.

$ sudo apt-get install apache2

Далее перейдите по адресу http://localhost и вы должны увидеть стартовую страницу apache.

apache

Apache — стартовая страница.

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

apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message

Откройте конфиг апача:

$ sudo nano /etc/apache2/apache2.conf

В конце файла добавьте строки:

ServerName 127.0.0.1

 

Шаг 2. Установка MySQL.

$ sudo apt-get install mysql-server mysql-client

В ходе установке, нужно задать пароль администратора баз данных.

mysql config

Установка пароля

Проверьте, установку:

$ sudo service mysql status

в ответ должны увидеть что-то типа если у вас Ubuntu 14.04:

$ mysql start/running, process 3470

Или если у вас Ubuntu 16.04:

1471984511297

Шаг 3. Установка PHP

Для Ubuntu 16.04

Внимание! Если у вас Ubuntu 16.04 и выше тогда перейдите СЮДА

Для Ubuntu 14.04

$ sudo apt-get install php5 php5-mysql libapache2-mod-php5

Шаг 3.1 Проверка работы PHP

Создадим файл test.php

$ sudo nano /var/www/html/test.php

Добавим следующее содержание

<?php
phpinfo();
?>

И откроем в браузере ссылку: http://localhost/test.php

Вы должны увидеть информацию о установленном php, его версию, модули, и т.д.

phpinfo

Информация о PHP

Шаг 3.2 Настройка php.ini

Откроем php.ini для редактирования.
Для Ubuntu 14.04

$ sudo nano /etc/php5/apache2/php.ini

Для Ubuntu 16.04 PHP 5.6

$ sudo nano /etc/php/5.6/apache2/php.ini

Для Ubuntu 16.04 PHP 7.0

$ sudo nano /etc/php/7.0/apache2/php.ini

Находим директиву short_open_tag , и включаем ее, заменяем off на on

Этим мы включили  возможность использования коротких тегов php: <? ?>

P.S Из-за этой настройки, я два вечера не мог разобраться, почему у меня не работал скрипт, и выдавал ошибку:

Parse error: syntax error, unexpected ‘}’ in …

Раньше данная директива по-умолчанию была включена

Шаг 4. Установка phpMyAdmin.

$ sudo apt-get install phpmyadmin

Отвечаем на все вопросы, заданные при установке.
Проверим установку, перейдя по адресу http://localhost/phpmyadmin/

Вы увидите страничку авторизации.

Вводим логин и пароль, заданный администратора баз данных, при установке MySQL.

phpmyadmin

phpMyAdmin — авторизация

Шаг 5. Настройка виртуальных хостов.

Для удобства я размещаю свои сайты в домашней директории.

Создадим каталог в котором будет размещены наши сайты.

$ mkdir www

Далее каталог нашего сайта.

$ mkdir www/site.com

Создадим тестовый файл

$ nano www/site.com/index.php

И напишем что-то для проверки:

<?php echo '<h1>Hello world</h1>'; ?>

Создаем новый виртуальных хост.

Копируем файл шаблона.

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site.com.conf

Открываем его для редактирования.

$ sudo nano /etc/apache2/sites-available/site.com.conf

Вставляем следующие строки:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName site.com
DocumentRoot /home/gansik/www/site.com
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/gansik/www/site.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Обратите внимание, не забудьте подставить свои данные.
gansik — имя моего пользователя

site.com — адрес моего сайта.

Включаем наш сайт

$ sudo a2ensite site.com

Перезагружаем apache

$ sudo service apache2 restart

Редактируем hosts, для того, чтобы мы могли зайти на сайт, по нашему адресу.

$ sudo nano /etc/hosts

В первой строке, после localhost, добавим адрес нашего сайта site.com 

hosts

Hosts

Сохраняем, закрываем, и переходим по адресу нашего локального сайта site.com  , в ответ мы должны увидеть Hello world.

На этом вся настройка завершена

Как убрать подписи к иконкам phpmyadmin

В phpmyadmin по-умолчанию включены подписи к иконкам. Это не очень удобно, и они больше доставляют неудобства, чем полезностей.

Выглядит это так:

Подписи к иконкам

Подписи к иконкам

Для того что бы их отключить редактируем конфигурационный файл config.inc.php:

$ sudo nano /etc/phpmyadmin/config.inc.php

И в конце файл вставляем следующую запись:

$cfg['PropertiesIconic'] = true;

В итоге получаем следующее:

Без подписей

Без подписей

Установка и настройка LAMP (Apache, MySQL, PHP)

Решил написать статью как заметку для самого себя, ведь не возможно все запомнить, заодно и кому то будет полезно.

LAMP — набор серверного программного обеспечения, для работы и разработки веб-приложений (Linux, Apache, MySQL, PHP)

И так начнем с установки самого основного. Apache, MySQL, PHP

sudo apt-get install apache2 php5 php5-mysql mysql-server

Отвечаем на все вопросы походу установки (задаем пароль для root-пользователя mysql)

Установки phpMyAdmin

sudo apt-get install phpmyadmin

Отвечаем на вопросы.

На первый выбираем apache (вы бор делаем нажатием на пробел).

Настроить базу данных для phpmyadmin с помощью dbconfig-common?

Выбираем — Да.

Вводим пароль рута mysql, и задаем пароль для пользователя phpmyadmin

После установки, переходим  по адресу http://localhost/  и вы должны увидеть надпись вида:

It works!

This is the default web page for this server.

Если надпись вы увидели, значит все хорошо. Первый шаг готов.

PhpMyAdmin должен открыться по адресу: http://localhost/phpmyadmin/

Настройка

Для начала пропишем в hosts домен нашего будущего сайта.
sudo nano /etc/hosts

в  первой строке, после 127.0.0.1       localhost через пробел прописываем свои домены по которым будет доступен сайт.

например у меня выглядит это вот так:

что бы сохранить нажимаем Ctrl-O, Enter, Ctrl+X

Чтоб апач на ругался на  отсутствие название сервера настроим его.

sudo nano /etc/apache2/apache2.conf

В конце файла напишем

ServerName 127.0.0.1

Настройка виртуальных хостов

Далее настроим возможность работы нескольких сайтов.

Переходим в папку с хостами

cd /etc/apache2/sites-available/

Копируем настройки в новый файл (будущего сайта)

sudo cp ./default ./auto.dev

Вместо auto.dev — домен вашего сайта.

откроем наш новый файл настройки хоста.

sudo nano auto.dev

Вставим следующую запись:

[spoiler]

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName auto.dev
DocumentRoot /home/gansik/www/auto.dev
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/gansik/www/auto.dev>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory «/usr/lib/cgi-bin»>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ «/usr/share/doc/»
<Directory «/usr/share/doc/»>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

[/spoiler]

Не буду объяснять значение  всех директив, их описание вы легко сможете найти в гугле. Прокомментирую лишь самые важные, которые вы должны изменить под себя.

ServerAdmin webmaster@localhost — почта админа

ServerName auto.dev — название сервера

DocumentRoot /home/gansik/www/auto.dev — путь к папке с сайтом для удобства я размещаю его в домашней директории

<Directory /home/gansik/www/auto.dev>  — путь к папке с сайтом.

AllowOverride All — включаем возможность использование .htaccess

Далее включаем наш сайт

sudo a2ensite auto.dev

Вместо auto.dev — домен вашего сайта.

Перезагрузим апач.

sudo service apache2 reload

В корневой директории сайта создайте файл index.php c содержанием:

<?php

phpinfo();

?>

Откройте ваш сайт в браузере. Вы должны увидеть информацию о текущем статусе php. Если вы эту надпись увидели — поздравляем. Все прошло отлично. И теперь вы полноценно можете заниматься разработкой веб-приложений:)

Дополнительная информация.

Меняем пользователя от которого работает апач.

sudo nano /etc/apache2/envvars

Найдите строки:

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

Изменяем www-data на тот который нужен

 

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