Чтение онлайн

ЖАНРЫ

Основы программирования в Linux
Шрифт:

Объем данной главы не позволяет дать полное описание языка SQL и тем более принципов проектирования баз данных. Дополнительную информацию см. на Web-сайте www.mysql.com.

Графические средства

Работа с таблицами и данными в командной строке хороша и удобна во всех отношениях, но в наши дни большинство людей предпочитает графические средства.

У СУРБД MySQL два основных графических средства: MySQL Administrator и MySQL Query Browser. Точное имя пакета с этими средствами зависит от используемого вами дистрибутива; например, в дистрибутивах Red Hat ищите mysql-gui-tools и mysql-administrator. В дистрибутиве Ubuntu

вам, возможно, сначала придется переключиться на универсальный ("Universe") репозитарий, а затем искать mysql-admin.

MySQL Query Browser

Обозреватель запросов (query browser) довольно простое, но эффективное средство. После установки его можно запустить из меню GUI (graphical user interface, графический интерфейс пользователя). Запустив обозреватель, вы увидите начальный экран, запрашивающий подробности подключения (рис. 8.4).

Рис. 8.4

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

После подключения вы получаете простой GUI (рис. 8.5), который позволяет выполнять запросы в графической оболочке, предоставляя все преимущества редактирования в графическом режиме заодно с графическим способом редактирования данных в таблице и несколькими экранами помощи с синтаксисом языка SQL.

Рис. 8.5

MySQL Administrator

Мы очень надеемся на то, что вы познакомитесь с MySQL Administrator. Это мощный, стабильный и легкий в использовании графический интерфейс для СУРБД MySQL, заранее откомпилированная версия которого существует как для ОС Linux, так и для Windows (даже исходный код доступен, если он вам нужен). MySQL Administrator позволяет управлять сервером MySQL и выполнять команды SQL через графический интерфейс пользователя.

При запуске MySQL Administrator выводится экран подключения, очень похожий на экран подключения MySQL Query Browser. После ввода некоторых подробностей у вас появится главная страница управления (рис. 8.6).

Рис. 8.6

Если вы хотите управлять сервером MySQL из программы-клиента в ОС Windows, можно загрузить Windows-версию MySQL Administrator из раздела Web-сайта MySQL, посвященного средствам GUI. Когда писалась эта книга, в загрузку были включены администратор, обозреватель запросов и утилита переноса базы данных. На рис. 8.7 показан экран состояния, как видите, он почти идентичен версии Linux,

Примечание

Напоминаем, что если вы до сих пор следовали инструкциям, то защитили свой сервер MySQL так, что пользователь root может подключиться к нему только с локальной машины и ни с какой другой машины в сети.

После запуска MySQL Administrator вы сможете провести наблюдения при разной настройке и отслеживаемых параметрах. Это очень легкое в использовании средство, но у нас нет возможности в этой единственной главе вдаваться в подробности.

Рис. 8.7 

Доступ к данным MySQL из программ

на С

Теперь, когда основы СУРБД MySQL остались в стороне, давайте рассмотрим, как, не применяя графические средства или программу-клиент mysql, получить доступ к СУРБД MySQL из вашего приложения.

К MySQL можно получить доступ из программ на разных языках, включая следующие:

С;

Eiffel;

С++;

Tcl;

Java;

Ruby;

Perl;

Python;

PHP.

Есть и драйвер ODBC для доступа к MySQL из приложений ОС Windows, таких как Access. Существует даже драйвер ODBC для ОС Linux, но в его применении мало смысла.

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

Подпрограммы подключения

Подключение к базе данных MySQL из программы на языке С состоит из двух шагов:

 инициализации структуры идентификации подключения или дескриптора подключения;

 выполнения физического подключения.

Сначала примените

mysql_init
для инициализации дескриптора вашего подключения:

#include <mysql.h>

MYSQL *mysql_init(MYSQL*);

Обычно в подпрограмму передается

NULL
и возвращается указатель на вновь выделяемую память для структуры дескриптора подключения. Если вы пересылаете указатель на существующую структуру, она инициализируется заново. В случае ошибки возвращается
NULL
.

К этому моменту вы просто выделили память и инициализировали структуру дескриптора. Но вы еще должны предложить параметры подключения с помощью подпрограммы

mysql_real_connect
:

MYSQL *mysql_real_connect(MYSQL *connection,

 const char *server host, const char *sql_user_name,

 const char *sql_password, const char *db_name,

 unsigned int port_number, const char *unix_socket_name,

 unsigned int flags);

Указатель подключения должен указывать на структуру дескриптора, уже инициализированную подпрограммой

mysql_init
. Параметры в большинстве своем очевидны; но следует отметить, что
server_host
может задаваться именем компьютера или IP-адресом. При подключении только к локальной машине вы можете оптимизировать тип подключения, указав в качестве этого параметра
localhost
.

Параметры

sql_user_name
и
sql_password
соответствуют своим именам. Если регистрационное имя равно
NULL
, предполагается идентификатор текущего пользователя ОС Linux. Если пароль —
NULL
, вы сможете обратиться к данным только на том сервере, который доступен без пароля. Перед отправкой по сети пароль шифруется.

Параметры

port_number
и
unix_socket_name
должны быть равны 0 и
NULL
соответственно, если вы не меняли стандартных настроек в вашей установке MySQL. Эти параметры примут соответствующие значения по умолчанию.

Поделиться с друзьями: