Default Green Orange
Gemini_13's Blog
Блокнот полезных вещей
Home
    • Карта сайта
    • Обо мне
RSS

Posts Tagged ‘mysql’

Установка GitLab на Debian 7.8 (wheezy) в ручном режиме

Linux, Настройка сервера, Разное 3 комментария »

Доброго времени суток, уважаемый читатель!
Сегодняшняя заметка будет посвящена GitLab.
GitLab — платформа с открытым исходным кодом для организации совместной работы с Git-репозиториями. По своим возможностям это GitHub, но на домашнем или корпоративном сервере для личных нужд. Функционал, внешний вид и удобство шикарны! 🙂

В из дней на работе встала задача перестройки внутренней инфраструктуры и одним из пожеланий была удобная работа с репозиториями Git-а. Легко и быстро создавать репозитории, возможность просматривать исходные коды проектов и писать комментарии к кускам кода прямо там.
После гугления данного вопроса пришел к выводу, что под данную задачу шикарно вписывается GitLab и полез пробовать его ставить. Скажу честно, что убил на это полтора дня и 5 виртуальных серверов (тестил много и пытался соорудить трехколесный велосипед на квадратных колесах).

Первым делом полез в документацию и нашел мануалы по установке. Их было два: установка готового deb-пакета и ручная установка. Попробовав готовый пакет я понял, что это не то, что мне нужно. Я хотел иметь полный контроль над софтом и использоваться должен был MySQL, а не PostgreSQL. Поэтому пришлось обратится к мануалу по ручной установке. С ним то и возникли некоторые сложности, которые заставили написать эту заметку на будущее. В целом я опишу всю установку GitLab, но половина будет взята по сути из официального мануала.

Для работы GitLab будут установлены:
— Nginx 1.6.2
— Redis 2.8
— Ruby 2.1.5
— MySQL 5.6
— Git 1.7.10
— Postfix 2.9.6
Read the rest of this entry »


20 января, 2015  
Tags: debian, git, gitlab, mysql, nginx, postfix, redis, ruby, wheezy, гитлаб, дебиан, постфикс, редис, руби



Восставновление пароля для root (MySQL / MariaDB)

MySQL 0 Comment »

Случилось так, что пришлось человеку восстанавливать пароль для root в БД. Раньше делать приходилось, но на этот раз решил накидать заметку, хоть и всё очень просто.

Останавливаем MySQL:

service mysql stop

Запускаем MySQL с особыми параметрами:

/usr/bin/mysqld_safe --skip-grant-tables --user=root

Коннектимся в БД:

mysql -u root

Выполняем запрос, чтобы поменять пароль:

UPDATE mysql.user SET Password = PASSWORD('newpass') WHERE User = 'root';

newpass — новый пароль
Выходим из клиента:

exit

Перезапускаем MySQL-сервер:

service mysql restart

Вот и вся магия 🙂


17 февраля, 2014  
Tags: mariadb, mysql, password, root, пароль, рут



Генерирование таблицы с двух колонок PHP+MySQL

MySQL, Разное, Скрипты 2 комментария »

Еще одним из интересных заданий было обработать две таблицы: товары и цены. Суть заключалась в том, что надо было составить прайс из 10к товаров, но реально товаров существовало 100к, а в таблице цен на каждый товар приходилось по 4 разные цены для каждой группы покупателей (вип, опт, розница, лучший друг и тп). Такоже небольшим нюансм было, что товары имели разный статус, пусть он для нас будет, как «в продаже/нет в наличии».

Начнем с того, какие у нас таблицы:

CREATE TABLE `products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(200) NOT NULL,
  `status` tinyint(1) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `prices` (
  `product_id` int(11) NOT NULL,
  `type` smallint(6) NOT NULL,
  `price` float(10,2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

В pruducts у нас 100к записей, а в prices — 400к (100к товаров по 4 цены на каждый).
Read the rest of this entry »


11 июля, 2013  
Tags: mysql, php, sql, выборка



Вывод результата запроса с COUNT с нулем используя ISNULL()

MySQL 0 Comment »

Проходя одно из тестовые задания одно из них требовало вывести табличку с названиями регионов и количеством клиентов в каждом из них. Вообщем-то ничего сложного, я уже такое делал, но решил тоже записать в заметки. Почему? А потому, что там есть ISNULL(), о котором можно забыть и долго мучатся.

Пример без ISNULL():

MariaDB [test]> SELECT COUNT(c.id) AS count, r.name FROM clients c, regions r WHERE r.id = c.region_id GROUP BY r.id ORDER BY count DESC;
+-------+--------------+
| count | name         |
+-------+--------------+
|  1720 | Центр        |
|  1678 | Киев         |
|  1676 | Север        |
|  1670 | Восток       |
|  1653 | Юг           |
|  1603 | Запад        |
+-------+--------------+
6 rows in set (0.04 sec)

Read the rest of this entry »


11 июля, 2013  
Tags: isnull, maria, mysql, sql



Подключение к MySQL в консоли

FreeBSD, Linux, MySQL 0 Comment »

Так как я не часто работаю с БД через консоль, то решил записать как же коннектиться к мускулу.

# mysql --user={user} --password={password} --database={database}

{user} — имя юзера
{password} — пароль
{database} — имя БД


11 июля, 2013  
Tags: mysql, terminal, консоль, мускул, терминал



Поиск и замена слова или части текста в MySQL

MySQL, Скрипты 4 комментария »

Случилось так, что понадобилось мне массово поправить ссылки на картинки во многих сообщениях. Естественно вручную делать не хотелось, да и как-то это старомодно что ли… 🙂
На выручку пришел google со своими умными ссылками. Не будем тянуть кота за хвост, поехали…
Read the rest of this entry »


28 июня, 2013  
Tags: mysql, replace, sql, update, БД, замена слова, замена текста, мускул, найти и заменить



Apache2 + PHP5 + MySQL 5.1 + phpMyAdmin (Debian 6)

Linux, MySQL, Настройка сервера 1 Comment »

В этой заметке я напишу как просто и с минимальной затратой времени установить на машину apache, php, mysql и веб-морду phpmyadmin. Работаем с заметкой и консолью в режиме «копи-паст» 🙂


Установка Apache2 и PHP5

Устанавливаем апач и пхп. В процессе установки нам будет предложено установить сопутствующие пакеты, с чем мы соглашаемся.

aptitude install apache2 php5 libapache2-mod-php5

Если нужно, то редактируем конфигурацию апача:

# nano /etc/apache2/apache2.conf

Стандартная папка веб-сервера находится по адресу /var/www, но по нужде ее можно легко изменить в файле конфигурации хоста:

# nano /etc/apache2/sites-available/default

Включим мудуль mod_rewrite:

a2enmod rewrite

Теперь перезагружаем apache:

service apache2 restart

или

/etc/init.d/apache2 restart

Read the rest of this entry »


19 октября, 2012  
Tags: apache, debian, mod_rewrite, mysql, php, phpmyadmin, terminal, установка, хост



Кеширование на TorrentPier II (R461)

Скрипты 0 Comment »

Кеширование в движке TorrentPier II сделать не сложно, разрабы про это позаботились, за что им большое спасибо 🙂 Актуальная ревизия движка на момент написания заметки — R461.

Для работы с кешированием нужно знать всего три строки:

CACHE('bb_cache')->set('название кеша', $инфа, время);
CACHE('bb_cache')->get('название кеша');
CACHE('bb_cache')->rm('название кеша');

1 строка — создает кеш
2 строка — берет инфо с нужного кеша
3 строка — удаляет кеш

Если со второй и третей строкой ясно, то с созданием кеша у кого-то могут возникнуть вопросы.

CACHE('bb_cache')->set('название кеша', $инфа, время);

название кеша — ну, тут ясно. Обозвите кеш так, чтобы названия не повторялись.
$инфа — это та информация, которую мы кешируем
время — количество секунд на хранение кеша
Read the rest of this entry »


4 октября, 2012  
Tags: cache, mysql, php, torrentpier, кеширование, скрипт



Типы данных, которые используются в MySQL

MySQL, Настройка сервера 0 Comment »

Решил понемногу изучать азы MySQL, ато получается, что знаком и не знаком с ней одновременно. Память у меня не резиновая и пользоватся этими знаниями постоянно мне тоже врятли понадобится. Для быстрого поиска нужной инфы я и буду её тут размещать. Что ж, поехали…

Как видно с названия, разговор пойдет о типах данных в БД Мускула (он же MySQL).

Строковые типы

При занесении некоторого значения в поле такого типа из него автоматически вырезаются концевые пробелы.

VARCHAR — Может хранить не более 255 символов.
TINYTEXT — Может хранить не более 255 символов.
TEXT — Может хранить не более 65 535 символов.
MEDIUMTEXT — Может хранить не более 16 777 215 символов.
LONGTEXT — Может хранить не более 4 294 967 295 символов.
Чаще всего применяется тип TEXT, но если вы не уверены, что данные не будут превышать 65 536 символов, используйте LONGTEXT.

Бинарные данные

Бинарные данные — это почти то же самое, что и данные в формате TEXT, но только при поиске в них учитывается регистр символов.

TINYBLOB — Может хранить не более 255 символов.
BLOB — Может хранить не более 65 535 символов.
MEDIUMBLOB — Может хранить не более 16 777 215 символов.
LONGBLOB — Может хранить не более 4 294 967 295 символов.
BLOD-данные не перекодируются автоматически, если при работе с установленным соединением включена возможность перекодирования текста «на лету».
Read the rest of this entry »


25 сентября, 2012  
Tags: mysql, типы данных



Создаем и удаляем таблицы в MySQL

MySQL, Настройка сервера, Скрипты 0 Comment »

В прошлой статье Создание и удаление баз данных описывалось как создать базу данных. Но, в этой базе нужно создать еще таблицу, собственно с которой мы и будем работать в дальнейшем.

Создание таблицы в базе данных

Создание таблицы производится командой CREATE TABLE.

CREATE TABLE table_name(column_name1 type, column_name2 type,...)

table_name — имя новой таблицы;
column_name — имена колонок (полей), которые будут присутствовать в создаваемой таблице.
type — определяет тип создаваемой колонки.

Пример

Нам нужно создать таблицу телефонных номеров друзей.
Наша таблица будет состоять из трех столбцов: ФИО, адрес и телефон.

CREATE TABLE contacts(fio text, address text, tel text)

В PHP это будет так:

$sql="CREATE TABLE contacts(fio text, address text, tel text)";
mysql_query($sql);

К типу данных можно присоединить модификаторы, которые задают его «поведение» и те операции, которые можно (или, наоборот, запрещено) выполнять с соответстующими столбцами.

not null — означает, что поле не может содержать неопределенное значение, т.е. поле обязательно должно быть инициализировано при вставке новой записи в таблицу (если не задано значение по умолчанию).

Например, для нашей таблицы с телефонами нужно указать, что поле с ФИО друга (поле fio) и его телефоном (поле tel) не может иметь неопределенного значения:

CREATE TABLE contacts(fio text NOT NULL, address text, tel text NOT NULL)

primary key — отражает, что поле является первичным ключом, т.е. идентификатором записи, на который можно ссылаться.

CREATE TABLE contacts(fio text, address text, tel text, PRIMARY KEY (fio))

auto_increment — при вставке новой записи поле получит уникальное значение, так что в таблице никогда не будут существовать два поля с одинаковыми номерами.

CREATE TABLE contacts(fio text AUTO_INCREMENT, address text, tel text)

default — задает значение по умолчанию для поля, которое будет использовано, если при вставке записи для этого поля небыло явно указано значение.

CREATE TABLE contacts(fio text, address text DEFAULT 'Не указан', tel text)

Удаление таблицы в базе данных

Read the rest of this entry »


24 сентября, 2012  
Tags: create, drop, mysql, php, script, запрос, скрипт, создать, удаление



Previous Entries
  • Рубрики

    • FreeBSD (20)
    • Linux (46)
    • MySQL (11)
    • Windows (14)
    • Железо (3)
    • Мои моды к TorrentPier II (16)
    • Настройка сервера (49)
    • Разное (33)
    • Скрипты (30)
  • Свежие записи

    • Поля форм на Yii2: textInput(), passwordInput() и hiddenInput()
    • Поля форм на Yii2: CheckboxList()
    • SpeedTest датацентров Digital Ocean
    • Патчим Gearman на Debian
    • nginx + Apache 2.4 и REMOTE_ADDR (решение проблемы)
    • Создание и подключение swap-файла в Debian
    • Запуск PhpStorm 9 x64 на Windows
    • Рекурсивная замена прав доступа для папок и файлов в Linux
    • VirtualBox 5 + phpVirtualBox на Debian 8.2 (jessie)
    • Обработка сессий PHP с помощью Redis + phpredis на Debian 7.8
  • Ссылки

    • My GitHub
  • Архивы

    • Июнь 2016 (2)
    • Март 2016 (2)
    • Январь 2016 (3)
    • Ноябрь 2015 (2)
    • Август 2015 (1)
    • Февраль 2015 (1)
    • Январь 2015 (7)
    • Октябрь 2014 (1)
    • Июнь 2014 (1)
    • Май 2014 (1)
    • Апрель 2014 (7)
    • Февраль 2014 (9)
    • Январь 2014 (5)
    • Декабрь 2013 (7)
    • Ноябрь 2013 (1)
    • Октябрь 2013 (3)
    • Август 2013 (4)
    • Июль 2013 (4)
    • Июнь 2013 (3)
    • Апрель 2013 (2)
    • Март 2013 (2)
    • Февраль 2013 (6)
    • Январь 2013 (2)
    • Декабрь 2012 (1)
    • Ноябрь 2012 (2)
    • Октябрь 2012 (7)
    • Сентябрь 2012 (22)
Все права защищены © 2012 Gemini_13's Blog
G13.org.ua