- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Сделал. Получилось быстро и без особых проблем. Пользовался советом barty.
Если кому интересно, напишу тут по пунктам.
Напиши, пожалуйста, тоже интересно
Напиши, пожалуйста, тоже интересно
Оба сервера должны быть соединены между собой, желательно кабелем, либо оба должны быть подключены к Интернету, если они на разных датацентрах. У вас должен быть доступ к обеим серверам через SSH.
Я делал так:
1. На новом сервере из под phpMyAdmin создал точно такие же базы(с теми же именами) и точно такого же юзера с тем же паролем, как и на старом сервере. Присвоил этому юзеру эти базы с теми же привелегиями(All, Grant - "No"). /Естественно, эти процедуры можно выполнить и без phpMyAdmin, напрямую в mysql> или mysqladmin/
2. Зашел на старый сервер под SSH(я юзаю putty.exe) как root. Если до этого новый сервер не был добавлен в список "known host", надо выполнить команду >ssh новый_сервер(IP или имя хоста). SSH попробует соедениться с новым сервером, попросит принять их publik_key, спросит root password и добавит новый сервер в список известных хостов. На новом сервере SSH должна быть настроена на работу с root напрямую, а не через su(супер юзера). Если вы вошли на новый сервер после этого, то все ok.
Сразу можете посмотреть путь где MySQL держит базы на новом сервере. Обычно /var/lib/mysql/. Там вы должны найти директории, которые mySQL создала для каждой базы, котоые вы создали через phpMyAdmin. Запишите этот путь - он будет нужен.
3. Выходите с нового сервера(exit - вы находитесь в SSH) и идете в директорию на старом сервере, где у вас лежат файлы mySQL. Обычно это тоже /var/lib/mysql/. Убеждаетесь, что там есть директории с именами ваших баз.
4. Теперь копируете файлы баз со старого сервера на новый командой:
rsync -rtzlvpog /путь/от/куда/ xxx.xxx.xxx.xxx:/путь/куда/
или(для стандартного расположения mySQL):
rsync -rtzlvpog /var/lib/mysql/имя базы(директории) xxx.xxx.xxx.xxx:/var/lib/mysql/имя базы(директории)
Пример:
rsync -rtzlvpog /var/lib/mysql/users_basa 101.122.45.212:/var/lib/mysql/users_basa
если соединение установлено, то еще вас спросят roor password для удаленного сервера. Если выскакивает ошибка, то надо соединится с удаленным сервером, как я писал выше, через ssh, чтобы добавить удаленный сервер в список known host.
После копирования меняете во всех скриптах, где вы коннектитесь к mySQL хост с 'localhost' на IP адрес(или имя хоста) нового сервера. Перед этой заменой потестируйте вручную через какой-нибудь тестовый скриптик.
Чтобы избежать потери данных добавленных в базу в момент копирования вы можете остановить MySQL или Apache или просто в программе отключить запись в MySQL на старом сервере.
Программа rsync с этими ключами -rtzlvpog при повторном копировании, проверяет изменились ли файлы source. Если не изменились, то она их не копирует.