Архив метки: консоль

Установка кодировки UTF8 для ssh шелл FreeBSD

  1.  Выполняем в консоли chpass. Приводим секцию Class к виду: Class: russian. Должно получиться чтото вроде:
#Changing user information for root.
Login: root
Password: ущш мщаукоац ущк
Uid [#]: 0
Gid [# or name]: 0
Change [month day year]:
Expire [month day year]:
Class: russian
Home directory: /root
Shell: /bin/csh
Full Name: щцшу
Office Location:
Office Phone:
Home Phone:
Other information:

2. В файле /etc/login.conf прописываем:

russian|Russian Users Accounts:\
	:charset=UTF-8:\
	:lang=ru_RU.UTF-8:\
	:tc=default:

3. Выполняем в консоли

cap_mkdb /etc/login.conf

Сий мануал справедлив для FreeBSD 8.4

MySQL в консоли. Шпаргалка

mysql -uusername -ppassword -hhost
create database db_name; - создаем новую бд с названием db_name
show databases; - просмотр имеющихся бд
use db_name; - выбрать бд с именем db_name
show tables; - просмотр всех таблиц
show columns from table_name; - просмотр колонок и их свойств
create table table_name (`id` int(11) AUTO_INCREMENT,`name` varchar(255)); - создание таблицы с колонками id и name
alter table table_name add column1 int(11); - добавить колонку в таблицу
alter table table_name drop column1; - удалить колонку из таблицы
SELECT * FROM table_name;
SET NAMES utf8; - чаще для линуксовых консолей
SET NAMES cp866; - для cmd windows

Важно! Обязателен разделитель команд ;

Шпаргалка по работе c MySQL

Вот сегодня столкнулся с неожиданным глюком — импортированный из одной версии phpmyadmin дамп в упор не захотел загружаться в другую версию phpmyadmin, хотя версия mysql одинаковая. Вот тут то и пригодился доступ на сервер по ssh и знание основ работы с консолью. А так, вот небольшая шпаргалка по работе с mysql из консоли:

Работа с бекапами

Делаем бекап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Создаём структуру базы без данных
mysqldump —no-data — u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Если нужно сделать дамп только одной или нескольких таблиц
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql

Создаём бекап и сразу его архивируем
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz

Создание бекапа с указанием его даты
mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/path/to/outputfile.sql.%Y%m%d.%H%M%S.gz`

Заливаем бекап в базу данных
mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql

Заливаем архив бекапа в базу
gunzip < /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE или так zcat /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE Создаём новую базу данных mysqladmin -u USER -pPASSWORD create NEWDATABASE Удобно использовать бекап с дополнительными опциями -Q -c -e, т.е. mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql, где:
-Q оборачивает имена обратными кавычками
-c делает полную вставку, включая имена колонок
-e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее

Для просмотра списка баз данных можно использовать команду:
mysqlshow -u USER -pPASSWORD

А так же можно посмотреть список таблиц базы:
mysqlshow -u USER -pPASSWORD DATABASE

часть текста стырена с http://habrahabr.ru/post/105954/

UPDATE 26/02/2014
Удаление всех таблиц в базе данных, 3 способа:

mysql --silent --skip-column-names -u[USERNAME] -p[PASSWORD] [DATABASE] -e "show tables" | \
gawk '{print "drop table " $1 ";"}' | mysql -u [USERNAME] -p[PASSWORD] [DATABASE]
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | \
grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
mysql --silent --skip-column-names --execute="show tables" --user=gallery_admin --password=pass gallery3 | awk '{print "drop table " $1 ";"}' | mysql --user=gallery_admin --password=pass gallery3