Программирование |
Web мастеру |
3D Графика и анимация |
Сетевая безопасность |
Гостевая книга |
Форум |
Ссылки |
Услуги |
|
|
На главную страницу > > В раздел программирование > > В раздел MySQL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Команды пакета MySQL. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Коротко о главномСУБД MySQL поставляется приходит со следующими основными программами и скриптами.
Еще есть несколько утилит. Они не жизненно важны для MySQL, но обеспечивают полезные дополнительные функциональные возможности.
Основные командыMySQLКлиентская программа MySQL. Запуск: mysql [OPTIONS] database ОПИСАНИЕ: Клиентская часть СУБД MySQL названа MySQL. Она обеспечивает интерфейс командной строки с СУБД MySQL, и возможность неинтерактивной пакетной обработки. Программой mysql поддерживаются следующие опции. Вы можете использовать или "короткий" одиночный символ или более подробную версию.
В интерактивном режиме mysql будет печатать результаты в таблице подобно примеру, приведенному ниже. Если не задан пароль или имя пользователя mysql попробует зайти в систему на сервере базы данных с использованием вашего логина и НУЛЕВОГО (ПУСТОГО) пароля. Если ваш mysql логин отличается от вашего логина в unix, или если вы имеете пароль, то это провалится. ПРИМЕР: $ mysql mysql Welcome to the mysql monitor. Commands ends with ; or \g. Type 'help' for help. mysql> select * from host; 1 rows in set (0.25 sec) +-----------+----+--------+--------+--------+--------+--------+------+ | host | db | select | insert | update | delete | create | drop | +-----------+----+--------+--------+--------+--------+--------+------+ | localhost | % | Y | Y | Y | Y | Y | Y | +-----------+----+--------+--------+--------+--------+--------+------+ mysql> Переведу этот пример на русский: $ mysql mysql Добро пожаловать в монитор mysql. Команды кончаются на ; или \g. Наберите 'help' для получения справки. mysql> select * from host; 1 строка в наборе (0.25 секунды) +-----------+----+--------+--------+--------+--------+--------+------+ | host | db | select | insert | update | delete | create | drop | +-----------+----+--------+--------+--------+--------+--------+------+ | localhost | % | Y | Y | Y | Y | Y | Y | +-----------+----+--------+--------+--------+--------+--------+------+ mysql> В режиме командной строки Вы должны иметь возможность работать с историей ввода и редактировать предыдущие команды. Это сильно облегчит работу. В пакетном режиме результаты выводятся в виде полей, разделенных символами табуляции. ПРИМЕР: Создайте файл /tmp/test, который содержит следующую строку: select * from host В командной строке введите: $ mysql mysql </tmp/test Вы получите что-то вроде: host db select insert update delete create drop localhost % Y Y Y Y Y Y Вы можете писать довольно сложные SQL программы, используя этот метод. mysqlaccessПроверка прав доступа пользователя. СИНТАКСИС: mysqlaccess [host] [user] [db] OPTIONS ОПИСАНИЕ: Скрипт mysqlaccess используется, чтобы внести в список привилегии пользователя для конкретной базы данных. Это дает информацию, которая может быть полезна при диагностировании проблем с доступом пользователей к данной базе данных. Не забудьте, что всегда надо скомандовать: $ 'mysqladmin reload' после внесения изменений в таблицы базы данных MySQL. Скрипт mysqlaccess поддерживает следующие параметры (Вы можете использовать "короткий" одиночный символ или более подробную версию):
Вы должны указать по крайней мере имя пользователя и имя базы данных, которые Вы желаете проверить. Если имя сервера не задано, то подразумевается имя 'localhost'. "Групповые символы" (*,?, %, _) могут применяться при указании сервера, пользователя и db (базы данных). Убедитесь, что они не будут перехвачены вашей командной оболочкой unix. mysqladminВыполняет административные функции. СИНТАКСИС: mysqladmin [OPTIONS] command command... ОПИСАНИЕ: Программа mysqladmin используется, для управления различными аспектами функционирования СУБД MySQL. Допустимы следующие опции (Вы можете использовать "короткий" одиночный символ или более подробную версию):
Кроме этого программа mysqladmin поддерживает следующие команды:
Обратите внимание: mysqladmin понимает сокращения. Например, Вы могли бы написать следующее: $ mysqladmin v p Это вывело бы версию mysqld и список всех активных в настоящее время потоков. Вы можете использовать опцию -i=[секунд] для повтора команды каждые [секунд]. Это наиболее полезно с командой processlist. Обратите внимание, что Вы можете использовать вышеупомянутые команды, только если Вы имеете соответствующие права доступа. mysqldСерверная часть пакета MySQL (mysqld). СИНТАКСИС: mysqld [OPTIONS] ОПИСАНИЕ: Программа mysqld является ядром СУБД MySQL. Она запускается как демон в системе и принимает подключения из клиентских программ, выполняя запросы и возвращая результаты. Она многопоточная, то есть обработает больше чем один запрос одновременно. Может наблюдаться спад производительности при использовании опции --log-isam, поскольку при этом очень многое пишется в файл протокола. Непериодические изменения, обновления и удаления могут уменьшить производительность на 5-10%. Производительность может сильно понизиться на обновлениях, требующих большого числа одновременных изменений. Опция --log-isam может использоваться, для копирования базы данных. Обратите внимание, что ISAM журналы могут стать ОЧЕНЬ большими. Каждая операция UPDATE, DELETE и INSERT имеет заголовок в 13 байтов дополнительно к команде. Каждая открытая таблица требует девять байтов плюс длина имени файла таблицы. Это необходимо только для таблиц, которые еще не в кэше таблиц. Кроме того будут иметься одиннадцать байтов дополнительно для любых команд, которые кэшируют/блокируют таблицы. Эти события обычно вызваны внутренними командами mysql. Наиболее часто, когда используется SELECT. В большинстве случаев нужно выполнять mysqld из скрипта safe_mysqld . Программа mysqld поддерживает следующие опции командной строки:
Если опция -h не определена, mysql будет считать, что основной каталог = "/my/data/sql/mysql". Все базы данных размещены в каталоге [homedir]/[имя базы данных] . Опция -l должна использоваться осторожно. Когда используется сервер, с большим объемом транзакций, этот файл может стать большим очень быстро. Если Вы не определяете имя logfile, при использовании опции -l mysqld будет писать протокол в файл [homedir]/[hostname].log. Опция -O позволяет Вам определять значения для следующих параметров:
Информация относительно того, что эти значения делают, и как поднять эффективность mysqld, находится здесь. mysqldumpДамп содержания базы данных. СИНТАКСИС: mysqldump [OPTIONS] [database [table [field]]] ОПИСАНИЕ: Программа mysqldump используется для создания дампа содержания базы данных MySQL. Она пишет инструкции SQL в стандартный вывод. Эти инструкции SQL могут быть переназначены в файл. Можно резервировать базу данных MySQL, используя mysqldump, но при этом Вы должны убедиться, что в этот момент с базой данных не выполняется никаких других действий. А то mysqldump Вам такого нарезервирует... Программа mysqldump поддерживает следующие параметры (Вы можете использовать короткую или подробную версию):
Вы можете направить вывод mysqldump в клиентскую программу MySQL, чтобы копировать базу данных. ПРИМЕЧАНИЕ: Вы должны убедиться, что база данных не изменяется в это время, иначе Вы получите противоречивую копию! ПРИМЕР: mysqladmin create foo mysqldump mysql | mysql foo mysqlshowПоказать информацию о сервере, базе данных или таблице. СИНТАКСИС: mysqlshow [OPTIONS] [database [table [field]]] ОПИСАНИЕ: Программа mysqlshow может использоваться, чтобы показать, с какими базами данных MySQL работает, какие таблицы данная база данных содержит, и какие поля есть в таблице в данной базе данных. Программа mysqlshow поддерживает следующие параметры (Вы можете использовать короткую или подробную версию):
mysqlshow без аргументов покажет все базы данных. mysqlshow с именем базы данных покажет все таблицы в ней. mysqlshow с именем базы данных и именем таблицы покажет схему этой таблицы. Если последний параметр содержит '?' или '*', то они используются как подстановочные знаки. ПРИМЕР: mysqlshow test 'a*' показать список всех таблиц в базе данных test, начиная с 'a'. mysqlshow по существу идентичен программе mSQL msqlshow. СУБД MySQL обеспечивает, подобные функциональные возможности посредством команд языка SQL SHOW и DESCRIBE . isamchkПроверка, восстановление, управление и сбор статистики по таблицам MySQL. СИНТАКСИС: isamchk [-?adeiqrsvwzIV] [-k #] [-O xxxx=size] [-Si] [-Sr #] [-O keybuffer=#] [-O readbuffer=#] [-O writebuffer=#] [-O sortbuffer=#] [-O sort_key_blocks=#] files ОПИСАНИЕ: Программа isamchk используется для проверки непротиворечивости таблиц и устранения любых проблем, которые это может вызвать. Isamchk может также использоваться, чтобы усилить таблицы в базах данных, которые содержат BLOB или поля символов переменной длины. Это необходимо только, если Вы часто добавляете и удаляете записи из этих таблиц. Необходимо остановить СУБД MySQL перед запуском isamchk с единственным переключателем -r. Вообще, используйте переключатель -rq для ремонта таблицы, потому что он выполняет "оперативный" ремонт. Для такого ремонта не нужно временного места в памяти, таким образом он проходит быстро, так как isamchk не копирует файл данных. Перед началом работы, надо перейти в каталог с таблицей, которая нуждается в проверке и/или ремонте. В общем случае, это $DATADIR/DBNAME. Опции программы isamchk:
Можно использовать вторую опцию '-q', чтобы использовать старый файл данных. -ro использует старый метод восстановления: медленнее, но надежнее -r. -r может исправить почти все ошибки, кроме уникальных ключей, которые оказались все же не уникальными. УБЕДИТЕСЬ, ЧТО ДЕМОН MYSQLD НЕ ЗАПУЩЕН, ЕСЛИ ИСПОЛЬЗУЕТЕ ЭТУ ОПЦИЮ! Если -f задан при проверке таблицы, то таблицы с ошибками будут автоматически исправлены. Имеется несколько примеров. См. Подробно о таблицах. ПРИМЕРЫ:
isamlogПолучение статистики, и использование isam-журналов. СИНТАКСИС: isamlog [-?iruvIV] [-c #] [-f #] [-p #] [-F filepath/] [-o #] [-R file recordpos] [-w write_file] [log-filename] ОПИСАНИЕ: Эта программа используется вместе с опцией --log-isam=file_name демона mysqld. Файл file_name будет хранить протокол всех изменений для всех таблиц. Программа isamlog может быть использована для получения информации об этом файле и обновить все таблицы и базы данных. Чтобы восстановить базу данных, нужна копия, которая содержит вашу базу данных до того, как mysqld сгенерировал ISAM журнал, или полный набор ISAM журналов с начала работы вашей базы данных.
safe_mysqldСкрипт для запуска демона mysqld. СИНТАКСИС: safe_mysqld [options to mysqld] ОПИСАНИЕ: Этот скрипт обычно выполняется при начальной загрузке, чтобы запустить mysqld. Если Вы не хотите, чтобы ваш DATADIR был помещен в иерархии каталога MySQL, что и mysqld, Вы должны подправить DATADIR в этом скрипте. Дополнительные командыcomp_errГенерирует файлы сообщений об ошибках на национальном языке. СИНТАКСИС: comp_err [-?] [-I] [-V] fromfile[s] tofile ОПИСАНИЕ: Эта программа используется для компиляции текстовых файлов которые содержат соответствие между кодами ошибок mysql и текстовыми сообщениями об этих ошибках в формат, который понимает mysql. Это нужно для изменения уже существующего файла сообщений или генерации такого файла для другого языка. ПРИМЕР: comp_err share/english/errmsg.txt share/english/errmsg.sys msql2mysqlВыполняет начальное преобразование mSQL скрипта в MySQL. СИНТАКСИС: msql2mysql [filename] ОПИСАНИЕ: Скрипт msql2mysql используется как первый шаг при портировании msql скриптов в MySQL. Просто введите: msql2mysql something.c >something.mysql.c' Вам придется, конечно, многое исправить, но это хорошее начало. Программа msql2mysql - фактически довольно простой скрипт, который использует команду replace, которая поставляется с СУБД MySQL, чтобы заменить mSQL обращения к функции на их MySQL эквиваленты. Меняются только имена, дополнительные параметры не добавляются. mysqlbugГенерирует отчет об ошибках. СИНТАКСИС: mysqlbug [address] ОПИСАНИЕ: Пожалуйста используйте этот скрипт при сообщении об ошибках в MySQL. Он генерирует форму для Вас, которую для заполнения помещает в любой текстовый редактор, указанный в переменной $VISUAL (Vi по умолчанию). Форма будет содержать автоматически сгенерированную информацию относительно вашей системы, включая версии OS и MySQL и архитектуру. Когда Вы закончите, форма будет отправлена по почте в список рассылки MySQL. Вы можете факультативно определять альтернативный адрес на который следует послать сообщение об ошибке, определяя [адрес]. perrorВыводит короткое текстовое объяснение числового кода ошибки. СИНТАКСИС: $ perror [-?vIV] [errorcodes] ОПИСАНИЕ: Программа perror предоставляет короткие текстовые объяснения числовых кодов ошибок, возвращаемых системой или СУБД MySQL. Программа perror поддерживает опции:
replaceСИНТАКСИС: replace [-?svIV] from to from to ... -- [files] ОПИСАНИЕ: Программа program используется скриптом msql2mysql. Replace может быть использована для замены строки на месте в файле или получать строку через канал (пайп), производить замену и выводить результат в STDOUT. Допустимы следующие опции:
ПРИМЕРЫ: replace Apple Orange somefile Заменит все вхождения Apple на Orange в файле somefile. cat INFILE | replace Apple Orange Blimp Train > OUTFILE Все вхождения Apple в файле INFILE будут заменены на Orange и результат выведен в файл OUTFILE. В то же время, все вхождения Blimp в файле INFILE будут заменены на Train и тоже выведены в файл OUTFILE. Таким образом, можно заменять более чем одно выражение за один проход. Вы можете использовать специальные символы во входных строках:
Replace простая и очень полезная утилита с большими потенциальными возможностями использования в MySQL. which1Найти команду. СИНТАКСИС: which1 [cmd] ОПИСАНИЕ: Эта команда, вероятно, полезна только на системах, которые не имеют, команды which, встроенной в оболочку, или доступной как команда. Выводит только первую найденную команду. zapПослать сигнал процессу, который соответствует образцу. СИНТАКСИС: zap [-signal] [-?Ift] pattern ОПИСАНИЕ: По умолчанию zap запросит подтверждение для каждого подходящего процесса. ПРИМЕР: prompt> zap -t "my" UID PID PPID C STIME TTY TIME CMD root 1217 1 1 15:21:30 pts/4 0:00 /bin/sh /usr/local/pkg/mysql-3.20.15/bin/safe_mysqld root 1224 1217 3 15:21:32 pts/4 0:01 /usr/local/pkg/mysql-3.20.15/libexec/mysqld -b /usr/local/pkg/mysql-3.20.15 -h Программа zap поддерживает опции:
В качестве сигнала допускается любой сигнал системы unix. По умолчанию сигнал = 9 (завершить процесс). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
На главную страницу > > В раздел программирование > > В раздел MySQL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||