*Drive*- Здесь рулят padonki

*Drive* - Counter Strike Source
Текущее время: 19 мар 2024, 08:17

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: работа с mysql
СообщениеДобавлено: 30 дек 2007, 00:12 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
Узнать, какие базы существуют в настоящее время на сервере, можно при помощи команды SHOW:

Код:
mysql> SHOW DATABASES;


Eсли база данных test существует, попробуйте обратиться к ней:

Код:
mysql> USE test;
Database changed

Создание и выбор базы данных:

Код:
mysql> CREATE DATABASE menagerie;



Создавать базу нужно только однажды, но выбирать ее приходится в каждом сеансе работы с mysql. Делать это можно с помощью команды USE, представленной выше. А можно выбирать базу и из командной строки при запуске mysql. Для этого достаточно лишь ввести ее имя после параметров соединения, которые нужно вводить в любом случае. Например:

Код:
shell> mysql -h host -u user -p menagerie
Enter password: *******



Просмотр таблиц в базе:

Код:
mysql> SHOW TABLES;


как добавить/удалить пользователя в MySQL из консоли?

Бывает, что удалённая/виртуальная машина установлена и необходимо создать пользователей/базы данных и раздать им права, а ставить phpmyadmin не хочется. Или просто блеснуть умением работать с пользователя mysql из консоли перед коллегами ;)

Для начала необходимо войти под суперпользователем:

Код:
mysql -u root -p


После ввода пароля мы окажемся в консоле mysql.

Создадим пользователя padonak с localhost и паролем '123'.

Код:
create user 'padonak'@'localhost' identified by '123';


Пользователь создан. Для проверки посмотрим список пользователей:

Код:
select user,host,password from mysql.user;


Создадим базу данных drivesource

Код:
create database drivesource;


Дадим пользователю padonak полные права на базу drivesource

Код:
grant all on dribesource.* to 'padonak'@'localhost';




Удалим пользователя 'padonak'@'localhost'

Код:
drop user 'padonak'@'localhost'


Если вы создали пользователей для разных хостов и хотите всех удалить, то необходимо удалить их по одному через команду 'drop user' с указанием хоста

Внимание! Команда 'DROP USER' не закрывает автоматически все сессии открытые удаляемым пользователем. Если пользователь с открытой сессией был удалён, то удаление не будет иметь эффекта до закрытии сессии пользователем. После закрытия сессии следующая попытка входа в систему пользователем которого удалили не удастся.

Удаляем базу testdb

drop database testdb;




ну а полное руководство - там : http://www.php.su/mysql/manual/#Loading_tables

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение


Последний раз редактировалось Padonak 14 июл 2010, 16:24, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: MySQL и русская кодировка WINDOWS-1251
СообщениеДобавлено: 26 июн 2008, 11:31 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
что нужно написать в конфигурационном файле /etc/my.cnf для того, чтобы настроить mysql стандартной сборки на работу с кодировкой cp1251 по умолчанию без всякой перекомпиляции.

Рассмотрим пример конфига на основе MySQL 5.x.

В раздел [mysqld] необходимо добавить следующее:

default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake

Две последние строки принудительно устанавливают кодировку cp1251 для всех запросов.

В раздел [mysqldump] достаточно добавить только

default-character-set=cp1251

Этого достаточно, чтобы MySQL работал с windows-1251 кодировкой по умолчанию.

Если же при импорте базы данных вместо русских букв выдаются иероглифы или знаки вопроса, это значит, что дамп был сделан в кодировке, отличной от cp1251. Переделайте дамп в cp1251 или перекодируйте его в нужную кодировку с помощью утилит iconv или recode.

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: смена пароля в mysql
СообщениеДобавлено: 01 ноя 2009, 19:44 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
Забыт пароль root и его надо сменить или убрать вовсе.

Гасим MySQL сервер, например так:
Код:
$ sudo /etc/init.d/mysql stop

Запускаем его без учета привелегий:
Код:
$ sudo mysqld --skip-grant-tables

В консоли mysql вносим необходимые изменения в привелегии:
Код:
$ sudo mysql

mysql> UPDATE mysql.user SET Password='пароль_или_ничего' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

Перезапускаем сервер.

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 июл 2010, 16:24 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
mysqldump, Получение дампов данных и структуры таблицы

Данная утилита позволяет получить дамп (``моментальный снимок'') содержимого базы данных или совокупности баз для создания резервной копии или пересылки данных на другой SQL-сервер баз данных (не обязательно MySQL-сервер). Дамп будет содержать набор команд SQL для создания и/или заполнения таблиц.

Если же резервная копия создается на сервере, то вместо описываемой утилиты следует использовать mysqlhotcopy. См.раздел See section 4.8.6 mysqlhotcopy, Копирование баз данных и таблиц MySQL.

shell> mysqldump [OPTIONS] database [tables]
или mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
или mysqldump [OPTIONS] --all-databases [OPTIONS]

Если не указывать имена таблиц или использовать параметры --databases или --all-databases, то будет получен дамп базы данных в целом (соответственно - всех баз данных).

Перечень опций, поддерживаемых вашей конкретной версией утилиты mysqldump, можно получить, выполнив команду mysqldump --help.

Следует иметь в виду, что утилита mysqldump, используемая без опций --quick или --opt, перед тем, как сделать дамп результата выборки информации, загрузит весь результат в память. Это может создать проблемы при получении дампа большой базы данных.

Учтите, что не следует применять параметры --opt или -e, если вы собираетесь использовать для получения дампа новую копию программы mysqldump, а затем воспроизводить его на очень старом MySQL-сервере.

Утилита mysqldump поддерживает следующие опции:

--add-locks
Добавить команды LOCK TABLES перед выполнением и UNLOCK TABLE после выполнения каждого дампа таблицы (для ускорения доступа к MySQL).
--add-drop-table
Добавить команду DROP TABLE перед каждой командой CREATE TABLE.
-A, --all-databases
Произвести дамп всех баз данных. Аналогично опции --databases с указанием всех баз данных.
-a, --all
Включить все опции создания объектов, специфичные для MySQL.
--allow-keywords
Разрешить создавать имена столбцов, которые совпадают с ключевыми словами. Отсутствие конфликтов обеспечивается прибавлением имени таблицы в качестве префикса к имени каждого столбца.
-c, --complete-insert
Использовать полные команды INSERT (с именами столбцов).
-C, --compress
Использовать сжатие всей информации между клиентом и сервером, если они оба поддерживают сжатие.
-B, --databases
Выполнить дамп нескольких баз данных. Обратите внимание на разницу в использовании: в этом случае таблицы не указываются. Все имена аргументов рассматриваются как имена баз данных. Оператор USE db_name; включается в вывод перед каждой новой базой данных.
--delayed
Использовать команду INSERT DELAYED при вставке строк.
-e, --extended-insert
Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).
-#, --debug[=option_string]
Отслеживать прохождение программы (для отладки).
--help
Вывести справочную информацию и выйти из программы.
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--lines-terminated-by=...
Эти опции используются совместно с параметром -T и имеют то же самое значение, что и соответствующие операторы для LOAD DATA INFILE. См. раздел See section 6.4.9 Синтаксис оператора LOAD DATA INFILE.
-F, --flush-logs
Записать на диск данные системного журнала из буфера MySQL-сервера перед началом выполнения дампа.
-f, --force,
Продолжать даже при получении ошибки SQL при выполнении дампа таблицы.
-h, --host=..
Выполнить дамп данных MySQL сервера на указанном хосте. Значение хоста по умолчанию - localhost.
-l, --lock-tables.
Заблокировать все таблицы перед началом выполнения дампа. Таблицы блокируются оператором READ LOCAL, чтобы разрешить параллельные записи для MyISAM-таблиц. Следует отметить, что при выполнении дампа совокупности баз данных опция --lock-tables блокирует таблицы каждой базы по отдельности. Таким образом, использование этого параметра не гарантирует, что таблицы будут логически непротиворечивы в пределах этих баз данных. В различных базах данных при выполнении дампа таблицы могут находиться в совершенно разных состояниях.
-K, --disable-keys
Добавляет выражение /*!40000 ALTER TABLE tb_name DISABLE KEYS */; и /*!40000 ALTER TABLE tb_name ENABLE KEYS */; в выводе результата. Это ускорит загрузку данных на сервер MySQL 4.0, так как индексы создаются после внесения всех данных.
-n, --no-create-db
В выводе результата выражение CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name; будет отсутствовать. Данная строка будет добавлена в любом случае при использовании опций --databases или --all-databases.
-t, --no-create-info
Не записывать информацию о создании таблицы (команда CREATE TABLE).
-d, --no-data
Не записывать информацию из строк таблицы. Это очень полезно для получения дампа структуры таблицы!
--opt
То же, что и --quick --add-drop-table --add-locks --extended-insert --lock-tables. Должно дать наиболее быстрый дамп для чтения на MySQL-сервере.
-pyour_pass, --password[=your_pass]
Используемый пароль при подключении к серверу. Если аргумент =your_pass не введен, mysqldump предложит ввести пароль.
-P port_num, --port=port_num
Номер порта TCP/IP, используемого для подключения к хосту (применяется при подсоединении к хостам, отличным от localhost, для которого используются сокеты Unix ).
-q, --quick
Выводить дамп непосредственно на стандартный вывод stdout без буферизации запроса. Для этого используется функция mysql_use_result().
-Q, --quote-names
Взять в кавычки имена таблиц и столбцов без символов ``'.
-r, --result-file=...
Прямой вывод указанного файла. Этот опцию следует использовать в MS DOS, так как она предотвращает преобразование символа новой строки '\n' в последовательность '\n\r' (новая строка + возврат каретки).
--single-transaction
Данная опция выдает SQL-команду BEGIN перед выполнением дампа данных с сервера. Наиболее часто используется с InnoDB-таблицамии и уровнем изоляции транзакций READ_COMMITTED, так как именно в этом режиме можно получить дамп с непротиворечивым состоянием базы данных после выполнения команды BEGIN без блокирования каких-либо приложений. Используя эту опцию, необходимо помнить, что при выполнении дампа только транзакционные таблицы будут находиться в непротиворечивом состоянии, т.е. некоторые MyISAM- или HEAP-таблицы при использовании данной опции могут все же изменить свое состояние. Опция --single-transaction добавлена в версии 4.0.2. Она является взаимоисключающей по отношению к опции --lock-tables, так как команда LOCK TABLES прерывает выполнение предыдущей транзакции.
-S /path/to/socket, --socket=/path/to/socket
Файл сокета для подсоединения к localhost (значение хоста по умолчанию).
--tables
Перекрывает параметр --databases (-B).
-T, --tab=path-to-some-directory
Для каждой заданной таблицы создает файл a `table_name.sql', содержащий SQL CREATE команды для создания таблицы, и файл `table_name.txt' с данными таблицы. Файл `.txt' имеет формат в соответствии с параметрами --fields-xxx и --lines--xxx. Примечание: Этот параметр работает только при условии, что утилита mysqldump запущена на том же компьютере, что и демон mysqld, причем пользователь/группа, запустившие данный поток mysqld (обычно это пользователь mysql и группа mysql), должны иметь право создавать/записывать файл по указанному адресу.
-u user_name, --user=user_name
Имя пользователя MySQL-сервера, используемое при подключении к серверу. Значением по умолчанию является имя пользователя Unix.
-O var=option, --set-variable var=option
Установить значения переменных. Доступные для использования переменные перечислены ниже.
-v, --verbose
Расширенный режим вывода. Вывод более детальной информации о работе программы.
-V, --version
Вывести информацию о версии и выйти из программы.
-w, --where='where-condition'
Выполнить дамп только выбранных записей. Обратите внимание, что кавычки обязательны.

"--where=user='jimf'" "-wuserid>1" "-wuserid<1"

-X, --xml
Представляет дамп базы данных в виде XML.
-x, --first-slave
Блокирует все таблицы во всех базах данных.
-O net_buffer_length=#, where # < 16M
При создании многострочных операторов ввода (как и в случаях применения параметров --extended-insert или --opt) утилита mysqldump будет создавать строки длиной вплоть до указанной в net_buffer_length. При увеличении значения этой переменной необходимо также убедиться в том, что в MySQL-сервере для переменной max_allowed_packet указано значение больше, чем величина net_buffer_length.

Чаще всего утилита mysqldump используется для получения резервной копии всех баз данных. See section 4.4.1 Резервное копирование баз данных.

mysqldump --opt database > backup-file.sql

Можно, наоборот, прочитать этот файл на MySQL-сервере посредством команды:

mysql database < backup-file.sql

или

mysql -e "source /patch-to-backup/backup-file.sql" database

Данная утилита достаточно часто используется и для переноса информации из базы данных на другой MySQL-сервер:

mysqldump --opt database | mysql --host=remote-host -C database

Вполне возможно получить дамп нескольких баз данных с помощью одной команды:

mysqldump --databases database1 [database2 ...] > my_databases.sql

Если необходим дамп всех баз данных, можно использовать:

mysqldump --all-databases > all_databases.sql

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Fatal error: mysql.user table is damaged
СообщениеДобавлено: 13 апр 2017, 22:34 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
Fatal error: mysql.user table is damaged. Please run mysql_upgrade

Поле обновления дистрибутива - не стартанул мускул . В логах ошибка ну и типа:
Код:
Fatal error: mysql.user table is damaged. Please run mysql_upgrade


ток он не стартует и доступа нет. Выход из этой ситуации таков:
- пробуем запустить MySQL в режиме --skip-grant-tables

Для запуска сервера в режиме skip-grant-tables проще всего временно добавить строчку skip-grant-tables в my.cnf в секции
Код:
[mysqld]
[mysqld]
skip-grant-tables
другие параметры


далее уже когда он стартанёт пробуем обновить базы:
Код:
mysql_upgrade -u root -p

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: mysql_upgrade: [ERROR] 1370: alter routine command denied to
СообщениеДобавлено: 03 авг 2017, 22:18 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
Debian has a MySQL account debian-sys-maint used for switching on/off and checking status. The password for that user should be the same as stored in /etc/mysql/debian.cnf.

The file looks like this:
# Automatically generated for Debian scripts. DO NOT TOUCH!
Код:
[client]
host = localhost
user = debian-sys-maint
password = <password>
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = <password>
socket = /var/run/mysqld/mysqld.sock
basedir = /usr

If the password doesn't match (for example because you changed it manually) the init script won't work anymore. You should set the password according to the file. So:

Код:
mysql -u root -p

# Then type MySQL root password
Код:
GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '<password>';

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Исправление ошибок в базе MySQL
СообщениеДобавлено: 31 дек 2018, 15:38 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
Использование утилиты mysqlcheck

Код:
# mysqlcheck -u root -p --optimize --auto-repair --all-databases


Назначение параметров:

--optimize – Оптимизируем все базы.
--auto-repair – Ремонтируем все базы.
--all-databases – Проверяем ошибки у всех баз.

Если база данных больших размеров, а вам нужно срочно поправить определенную таблицу, то вы можете запустить проверку определенной таблицы в базе данных.

Проверка отдельной таблицы в базе данных:

Код:
# mysqlcheck -r имя_базы имя_таблицы_в_базе -u root -p

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: работа с mysql
СообщениеДобавлено: 04 апр 2020, 00:15 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
Проблемы с debian-sys-maint в MySQL

Ясно дело, что проблема с паролем этого юзера в БД mysql, но из-за чего случилась эта проблема — это неизвестная переменная, которая нам ничего не говорит о том, зачем вообще нужен этот юзер.
Ладно, как сменить пароль на его «собственный»?
Узнать такой пароль не проблема, он лежит в /etc/mysql/debian.cnf, а в нем строчка с паролем.
Копируем пароль (или задаем новый), заходим под root’ом в mysql и далее:

Код:
mysql> use mysql;
mysql> GRANT RELOAD, SHUTDOWN, PROCESS, SHOW DATABASES, SUPER, LOCK TABLES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'тут тот самый пароль';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'оп/ть тот самый пароль' WITH GRANT OPTION;


Код:
# /etc/init.d/mysql restart


[FIX] phpmyadmin дополнительные функции

https://forum.vestacp.com/viewtopic.php?f=32&t=10306

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by -=PadonaK=- ®, Forum Drivesource.ru, Статситика игрового ресурса *Drive* HLstatsX, Система забаненых игроков Sourcebans

drivesource.ru ® 2006-2024