$ mysql -u user_name -p db_name < file_name.dmp
четверг, 2 января 2014 г.
Восстановление базы данных mysql из бэкапа
$ mysql -u user_name -p db_name < file_name.dmp
Создание базы данных и пользователя в mysql
create database db_name;
Создание пользователя:
create user 'user_name'@'localhost' identified by 'password';
Установка прав созданному пользователю на созданную базу данных:
grant all privileges on db_name.* to 'user_name'@'localhost' with grant option;
Создание дампа базы данных в mysql
$ mysqldump -u user_name -p db_name > file_name.dmp
Установка mysql-server в Debian
-
В начале устанавливаю сервер mysql:
# aptitude install mysql-server
В ходе установки будет необходимо ввести пароль root'a.
-
После установки сервера mysql необходимо отредактировать файл my.cnf, для того, чтобы не было проблем с кодировками:
# mcedit /etc/mysql/my.cnf
В секцию [mysql] добавляю:
default-character-set=utf8
В секцию [mysqld] добавляю:
character_set_server = utf8 collation_server = utf8_general_ci
-
Необходимо перезагрузить компьютер:
# reboot
-
Подключаюсь к mysql под root'ом:
mysql -u root -p
Проверяю, что кодировка MySql правильная:
mysql> show variables like 'char%';
Должны получить следующий результат:
+--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.01 sec)
воскресенье, 3 марта 2013 г.
Смена пароля пользователю mysql
Иногда бывает необходимо изменить пароль пользователю mysql. Для этого необходимо выполнить от root:
SET PASSWORD FOR 'user_name'@'localhost' = PASSWORD('new_password');
где user_name
— пользователь mysql, new_password
— новый пароль.
вторник, 22 января 2013 г.
Выполнение sql-скрипта из файла
Если необходимо выполнить много команд, то лучший способ — сохранить команды в файле, а затем выполнить:
mysql -u user_name -p db_name < file.sql
где user_name
— пользователь СУБД mysql, db_name
— база данных, к которой необходимо применить операции из файла file.sql
.
понедельник, 21 января 2013 г.
Подготовка рабочей станции в Debian 6 к web-разработке на Django
Как подготовить базовую рабочую станцию на Debian, я рассказывал в статье. Ниже я описываю подготовку рабочей станции к началу web-разработке.
Устанавливаю и настраиваю СУБД:
-
В начале устанавливаю сервер mysql:
# aptitude install mysql-server
В ходе установки будет необходимо ввести пароль root'a.
-
После установки сервера mysql необходимо отредактировать файл my.cnf, для того, чтобы не было проблем с кодировками:
# gedit /etc/mysql/my.cnf
В секцию [mysql] добавляю:
default-character-set=utf8
В секцию [mysqld] добавляю:
character_set_server = utf8 collation_server = utf8_general_ci
-
Необходимо перезагрузить компьютер:
# reboot
-
Подключаюсь к mysql под root'ом:
mysql -u root -p
Проверяю, что кодировка MySql правильная:
mysql> show variables like 'char%';
Должны получить следующий результат:
+--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.01 sec)
Ставим пакеты, необходимые для работы:
-
Система контроля версий Mercurial:
# aptitude install mercurial
-
Среда для разработки Eclipse:
# aptitude install eclipse
Установка основных необходимых пакетов завершена. Можно перезагрузиться, а затем установить различные «примочки» для Eclipse:
PyDev for Eclipse:
Help — Install New Software — Add — Location
: http://pydev.org/updates. Примочка позволит использовать Python в Eclipse.-
Mercurial for Eclipse:
Help — Install New Software — Add — Location
: http://cbes.javaforge.com/update. Примочка позволит использовать систему контроля версий Mercurial в Eclipse. Внимание! Необходимо ставить не последнюю версию, а ту, которая будет совместима с текущей версией Mercurial. -
Web Page Editor:
Help — Install New Software — Add — Location
: http://download.eclipse.org/releases/galileo/. Гдеgalileo
— название версии Eclipse. Примочка позволит создавать и редактировать web-документы в Eclipse.
Различные настройки Eclipse. Почему они по умолчанию не установлены — совершенно не понятно.
-
Убираю раздражающие подчёркивания:
Window — Preferences — General — Editors — Text Editors — Spelling — Enable spell checking
— убираю галочку. Показываю Project Explorer, по умолчанию он почему-то скрыт:
Windows — Show View — Other — General — Project Explorer
.
Необходимо поставить песочницу virtualenv, и уже в ней ставить Django и необходимые примочки.
-
Для полноценной работы virtualenv необходимо поставить пакеты:
# apt-get install python-setuptools python-dev build-essential
-
Виртуальное окружение ставлю именно через easy_install:
# easy_install -U virtualenv
-
Создаю папку с проектом (
/home/user_name/workspace/project_name/
), а в ней — рабочее окружение:$ virtualenv --distribute env
-
Активирую виртуальное окружение:
~/workspace/project_name/env/bin$ . activate
-
Ставлю ещё одну библиотеку:
# apt-get install libmysqlclient-dev
-
Внутри песочницы ставлю последнюю версию фреймворка Django:
$ pip install Django
-
Библиотека для работы с MySQL:
$ pip install MySQL-python
-
Приложение South, облегчающее работу с базой данных. Подробности использования.
$ pip install south
-
Приложение для регистрации пользователей:
$ pip install django-registration
понедельник, 29 октября 2012 г.
Подготовка рабочего места в Ubuntu 12.04 к web-разработке на Django
В качестве операционной системы я взял чистую Ubuntu 12.04. Накатив последние обновления приступаю к настройке рабочей станции.
Вызвав терминал по Alt+Ctrl+T
начинаю «шаманить»:
Устанавливаю Aptitude — оболочку для программы установки пакетов:
sudo apt-get install aptitude
Устанавливаю сервер MySql:
-
sudo aptitude install mysql-server
В ходе установки будет необходимо ввести пароль root'a.
Изменяю файл /etc/mysql/my.cnf для того, чтобы не было проблем с кодировками:
sudo gedit /etc/mysql/my.cnf
Вставляю в секцию [mysqld] следующие строки:
character_set_server = utf8 collation_server = utf8_general_ci
Проверяю, что кодировка MySql правильная:
mysql> show variables like 'char%';
Должны получить следующий результат:
+--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.01 sec)
-
После этого можно перезагрузить компьютер.
-
-
Устанавливаю Java:
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer
-
Устанавливаю Django:
-
Скачиваю последнюю версию Django: https://www.djangoproject.com/download/, помещаю скаченный архив в свой домашний каталог, затем последовательно выполняю:
tar xzvf Django-1.4.2.tar.gz sudo mv Django-1.4.2 /opt/ cd /opt/Django-1.4.2/ sudo python setup.py install
-
Проверяю корректность установки:
python >>> import django >>> django.VERSION
Результат должен быть следующим:
(1, 4, 2, 'final', 0)
-
-
Устанавливаю MySQL for Python:
sudo aptitude install python-mysqldb
Устанавливаю Eclipse:
-
Скачиваю последнюю версию Eclipse Classic отсюда: http://eclipse.org/downloads/, помещаю скаченный архив в свой домашний каталог, затем последовательно выполняю:
tar xzvf eclipse-SDK-4.2.1-linux-gtk-x86_64.tar.gz sudo mv eclipse /opt/eclipse
-
Перехожу в каталог
/opt/eclipse/
и запускаю одноименный файл. -
Регистрирую Eclipse в системе:
sudo gedit /usr/share/applications/eclipse.desktop
-
Вставляю в файл следующее содержимое:
[Desktop Entry] Version=1.0 Name=Eclipse Exec=/opt/eclipse/eclipse Terminal=false Type=Application Icon=/opt/eclipse/icon.xpm
-
После перезагрузки Eclipse появится в поиске. Запустив первый раз прикрепляю его к панели Unity Launcher.
-
-
Устанавливаю Mercurial:
sudo aptitude install mercurial
Устанавливаю различные «примочки» для Eclipse:
PyDev for Eclipse:
Help — Install New Software — Add — Location
: http://pydev.org/updates. Примочка позволит использовать Python в Eclipse.-
Mercurial for Eclipse:
Help — Install New Software — Add — Location
: http://cbes.javaforge.com/update. Примочка позволит использовать систему контроля версий Mercurial в Eclipse. -
Web Page Editor:
Help — Install New Software — Add — Location
: http://download.eclipse.org/releases/juno/. Примочка позволит создавать и редактировать web-документы в Eclipse.
Различные настройки Eclipse. Почему они по умолчанию не установлены — совершенно не понятно.
-
Указываю интерпретатор Python:
Window — Preferences — PyDev — Interpreter-Python — Auto Config — Ok
-
Убираю раздражающие подчёркивания:
Window — Preferences — General — Editors — Text Editors — Spelling — Enable spell checking
— убираю галочку. Показываю Project Explorer, по умолчанию он почему-то скрыт:
Windows — Show View — Other — General — Project Explorer
.
-
-
Создаю базу данных MySQL, пользователя и назначаю ему права:
-
Подключаюсь к MySQL под root'ом:
mysql -u root -p
-
Создаю базу данных:
CREATE DATABASE db_name;
-
Создаю пользователя:
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'user_password';
-
Назначаю пользователю права на базу данных:
GRANT ALL PRIVILEGES ON db_name.* TO 'user_name'@'localhost' WITH GRANT OPTION;
-
-
Если проекта ещё нет, то необходимо его создать:
-
File — New — Project — PyDev — PyDev Django Project
-
Ввожу имя проекта, проверяю путь создания проекта.
-
На странице Basic Django Settings указываю параметры подключения к базе данных.
-
Добавляю проект в систему контроля версий: в Project Explorer щелкаю правой кнопкой по проекту:
Team — Share Project — Mercurial — Next — Finish
. -
Выбираю файлы, которые необходимо добавить в систему контроля версий:
Team — Add
. -
После добавления файлов можно сделать первый «Commit»:
Team — Commit
. Указываю сообщение для первой фиксации. -
Будет полезно зарегистрироваться на веб-сервисе для хостинга проектов. Я выбрал https://bitbucket.org.
На хостинге создаю новый репозиторий, задаю имя, язык «Python».
-
Добавляю проект на внешний хостинг:
Team — Push
. В качестве URL указываю: https://bitbucket.org/user_name/project_name/. Указываю имя и пароль, полученные при регистрации,Next — Finish
. -
Для получения измененных данных с внешнего хостинга необходимо выбрать команду:
Team — Pull
.
-
-
Если проект уже есть где-то на внешнем хостинге, то его необходимо импортировать:
-
File — Mercurial — Clone Existing Mercurial Repository
.
-
-
Запускаю сервер:
-
Перейдя в каталог проекта в терминале выполняю команду:
python manage.py runserver
-
Запустив браузер, перехожу на страницу по адресу http://127.0.0.1:8000. Если появилась страница с текстом «It worked!», то это значит, что всё установили корректно.
-