Пришёл я тут к неутешительному выводы. Различные оболочки для работы с БД типа phpMyAdmin, MySqlAdmin и т.д. слишком сильно отупляют народ. Люди забывают примитивные команды для работы с MySQL через консоль (что тут греха таить, сам такой). В силу того что сижу уже второй месяц на GPRS и трафик ну оооочень уж дорогой и качать что то очень сильно лень, решил вспомнить как работать с БД через консоль. Там же всё просто, надо только вспомнить :)

Войти в консоль MySQL:
mysql –u user_name –password=user_password
(в принципе user_password можно не указывать в команде, а просто поставить -p, тогда mysql сам запросит пароль)

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

SHOW databases;

Создать новую базу:

CREATE DATABASE db_name CHARACTER SET utf8 COLLATE utf8_general_ci;

Создать нового пользователя и дать ему доступ к соответствующей базе:

GRANT ALL PRIVILEGES ON db_name.* TO 'user_name'@'localhost' IDENTIFIED BY 'user_password';

Выбрать базу для работы:

USE db_name;

Удалить базу данных:

DROP DATABASE db_name;

Сделать дамп базы:
mysqldump –user=user_name –password=user_password db_name > dump.sql;

Залить в базу данные из дампа.
mysql –user=user_name –password=user_password –default-character-set=utf8 db_name < dump.sql;

Вывести список таблиц, для текущей выбранной базы:

SHOW tables;

Создать таблицу:

CREATE TABLE table (field VARCHAR(20), field1 VARCHAR(20), field2 VARCHAR(20), field4 CHAR(1));

Посмотреть поля таблицы:

DESCRIBE table;

Посмотреть данные в таблице:

SELECT * FROM table LIMIT 1;

Скопировать данные из одной таблицы в другую:

INSERT INTO table (field, field1, field2) SELECT field, field1, field2 FROM table1;

Удалить таблицу:

DROP TABLE table;

Порой бывает необходимо настроить доступ к БД MySQL с удалённой машины или хоста, для этого нужно сделать следующее:

GRANT ALL PRIVILEGES ON db_name.* TO user_name@"user_ip_address"
IDENTIFIED BY 'user_password';

если требуется открыть доступ не для конкретного IP-адреса, а для всех, заменяем его на знак – %.

Удачного использования


Как настроить кодировку MySQL на UTF8

По умолчанию в MySQL устанавливается кодировка latin1_swedish_ci, а это значит, что разворачивая очередной проект все таблицы будут созданы в кодировке latin, чтобы этого избежать необходимо проделать несложные настройки изменив файл /etc/mysql/my.cfg (предварительно сделайте резервную копию файла).


Итак, сначала убеждаемся что за кодировка у нас установлена по умолчанию. Для этого в phpmyadmin на главной странице жмем ссылку "Системные переменные MySQL" , интересующие значения: "character ..."  Для того, чтобы вместо latin была по умолчанию UTF-8 делаем следующее:

$sudo nano /etc/mysql/my.cnf


Находим по тексту [mysqld] и добавляем строчки:

default-character-set = utf8
character-sets-dir = /usr/share/mysql/charsets


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

language        = /usr/share/mysql/russian



Теперь находим по тексту [client] и добавляем:

default-character-set = utf8
character-sets-dir = /usr/share/mysql/charsets



Сохраняем изменения (в nano это делается нажатием [ctrl+o]).
Перезапускаем MySQL:

$sudo /etc/init.d/mysql restart



Теперь открываем phpmyadmin, переходим в "Системные переменные MySQL ", значения character... должны принять значения utf-8.
Все, теперь если не определена кодировка в запросе к базе, то умолчательно будет использоваться UTF-8.
Аналогично можно настроить под любую другую. Прописав вместо UTF-8, cp1251 или koi8-r.