• Страница 1 из 1
  • 1
Модератор форума: Dimitro, LightInDarkness  
Форум » Управление пиратскими серверами » Средства, статьи, обсуждения управления пиратскими серверами » Работа с mysql-сервером (Из-под командной строки)
Работа с mysql-сервером
iUnro
root@localhost
Сегодня заметил, что тут нет простого мана, как работать с mysql-сервером без разных там навикатов и пхпадминов.
Решил написать основные операции, не буду расписывать все до мелочей, если кому интересно читайте, так как там много всего интересного, а переписывать сюда документацию бессмысленно.


В соавторстве с twink


Все комады имеющие в начале # выполняются в shell’e, все остальные в самом mysql-сервере.

Подключение к mysql-серверу:
Code
# mysql -u пользователь -p


Создание пользователя:
Code
CREATE USER 'логин'@'хост' IDENTIFIED BY 'пароль';


Смена пароля для пользователя:
Code
SET PASSWORD FOR 'юзер'@'%' = PASSWORD('новый_пароль');


Смена пароля для суперпользователя:
Code
# mysqladmin -u root -p'старый_пароль' password новый_пароль


Дать привилегии на определенную БД:
Code
GRANT ALL PRIVILEGES ON `бд`.`таблица` TO 'юзер'@'хост';

Если хотите дать права на все Бд, вместо `бд` пишите *
Если хотите дать права на все таблицы, вместо `таблица` пишите *

Показать права пользователя:
Code
SHOW GRANTS FOR 'юзер'@'хост';


Показать БД:
Code
SHOW DATABASES;


Создать БД:
Code
CREATE DATABASE имя_бд;


Выбрать одну из БД:
Code
USE бд;


Вывести список таблиц в БД:
Code
SHOW TABLES;


Показать структуру таблицы

Code
SHOW COLUMNS FROM таблица;


Создание дампа БД:
Code
# mysqldump -u ЮЗЕР -p БД > Файл.sql


Заливка дампа:
Code
# mysql -u ЮЗЕР -p БД < Файл.sql


Работа с данными:

Выбор:
Code
SELECT `что-то`,`еще_что-то` FROM `таблица`;


Выбор по критериям:
Code
SELECT `что-то`,`еще_что-то` FROM `таблица` WHERE `ключ`='значение';

или:
Code
SELECT `что-то`,`еще_что-то` FROM `таблица` WHERE `ключ` IN ('значение1','значение2','значение3');


Удаление:
Code
DELETE FROM `таблица` WHERE `ключ`='значение';


Добавление:
Code
INSERT INTO `таблица` (`ключ1`,`ключ2`,`ключ3`) VALUES ('значение1','значение2','значение3');

Для замены уже существующих данных используйте вместо INSERT - REPLACE

Изменение значений:
Code
UPDATE ` таблица` SET `ключ1`='значение1' WHERE `ключ0`='значение0';


Если не использовать WHERE, для описанных выше действий, то действие будет применено на всю таблицу.
Сообщение # 1 отредактировано iUnro - Понедельник, 20.06.2011, 17:51
wowslavikwow
Рыцарь
Quote
USE бд
в конце
[code];[/code] нужно.

Добавлено (20.06.2011, 01:44)
---------------------------------------------
Мда... wowjp не поддерживает такое как код

Quote
[code];[/code]

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 2 отредактировано wowslavikwow - Понедельник, 20.06.2011, 01:43
IV_RMX
Все такие няшки ^ ^
Quote (wowslavikwow)
Мда... wowjp не поддерживает такое как код

ЛОЛШТО?
Code
А это что?
Сообщение # 3 написано 20.06.2011 в 09:50
wowslavikwow
Рыцарь
IV_RMX, ты выше смотри там код стоит но он не отображает как нужно после первого запроса

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 4 написано 20.06.2011 в 14:01
IV_RMX
Все такие няшки ^ ^
wowslavikwow, вижу, бред
Code
;
Сообщение # 5 написано 21.06.2011 в 22:09
wowslavikwow
Рыцарь
Quote
mysqldump -u ЮЗЕР -p БД > Файл.sql

И типа такого скорее нужно сместить т.е. -uЮЗЕР -pПАРОЛЬ , можно и добавить хост кто использует удаленный mysql И терминал -hХОСТ

Добавлено (03.07.2011, 22:15)
---------------------------------------------
Так же можно добавить и
Code
UPDATE таблица SET ключ1=(ключ2 ЗнакЧисло) WHERE ключ=значение;
где:
Ключ1 - один это значение где изменится значение
Ключ2 - это с какого ключа возьмется число
ЗнакЧисло - это можно еще это число увеличить, умножить, вычесть, поделить допустим -100


Добавлено (03.07.2011, 22:29)
---------------------------------------------
Code
set @название = (select ключ2 from таблица tt WHERE tt.ключ1=значение1);
update таблица t set t.ключ3=@название where t.ключ4=значение2;

где:
название латинскими, оно должно совпадать в обоих случаях.
Ключ1 - это где будет поиск строки обычно от entry=значение
ключ2 - это с какого столбца возьмется значение с выбраной строки от Ключ1
ключ3 - это куда значение будет применено выбраное с ключ2.
ключ4 - это в какой строке будет новое значение.
значение1 - это обычно ид откуда будет поиск
значение2 - это куда применится обычно с entry
p.s. этот запрос хоть и извращеный но рабочий.

Второй запрос редко где придется применять, но мне он понадобился когда я вид менял у предмета с другого предмета.
Code
set @id = (select displayid from item_template tt where tt.entry=25);
update item_template t set t.displayid=@id where t.entry=34;

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 6 отредактировано wowslavikwow - Воскресенье, 03.07.2011, 22:31
Fugu
Капрал
Возможна ли статья про оптимизацию mySQL под windows server 2003 ?
Сообщение # 7 написано 28.07.2011 в 20:54
wowslavikwow
Рыцарь
Quote (Fugu)
Возможна ли статья про оптимизацию mySQL под windows server 2003 ?

Под каждую серверную машину оптимизация mysql-server-а своя. Есть конечно, много всяких примеров.. Их можно тут поискать - если нет то google.ru

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 8 отредактировано wowslavikwow - Четверг, 28.07.2011, 21:10
Cybergamer
Капрал
mysql под Шиндовс - изращенство по определению. Никакая оптимизация не поможет


Сообщение # 9 написано 24.08.2011 в 09:32
f3n0s1
Скаут
Quote (Cybergamer)
mysql под Шиндовс - изращенство по определению. Никакая оптимизация не поможет

Наверно это у тебя ничего не получится )

Есть прога mysql tuning читайте изучайте
Сообщение # 10 написано 24.08.2011 в 21:32
Форум » Управление пиратскими серверами » Средства, статьи, обсуждения управления пиратскими серверами » Работа с mysql-сервером (Из-под командной строки)
  • Страница 1 из 1
  • 1
Поиск: