» » » » Денис Колисниченко - Linux: Полное руководство

Денис Колисниченко - Linux: Полное руководство

На нашем литературном портале можно бесплатно читать книгу Денис Колисниченко - Linux: Полное руководство, Денис Колисниченко . Жанр: Программное обеспечение. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале litmir.org.
Денис Колисниченко - Linux: Полное руководство
Название: Linux: Полное руководство
ISBN: -
Год: -
Дата добавления: 3 июль 2019
Количество просмотров: 537
Читать онлайн

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту readbookfedya@gmail.com для удаления материала

Linux: Полное руководство читать книгу онлайн

Linux: Полное руководство - читать бесплатно онлайн , автор Денис Колисниченко
Данная книга представляет собой великолепное руководство по Linux, позволяющее получить наиболее полное представление об этой операционной системе. Книга состоит из трех частей, каждая из которых раскрывает один из трех основных аспектов работы с Linux: Linux для пользователя, сетевые технологии Linux (и методика настройки Linux-сервера), программирование Linux. В книге охвачен очень широкий круг вопросов, начиная с установки и использования Linux «в обычной жизни» (офисные пакеты, игры, видео, Интернет), и заканчивая описанием внутренних процессов Linux, секретами и трюками настройки, особенностями программирования под Linux, созданием сетевых приложений, оптимизацией ядра и др.Изложение материала ведется в основном на базе дистрибутивов Fedora Cora (Red Hat) и Mandriva (Mandrake). Однако не оставлены без внимания и другие дистрибутивы SuSe, Slackware, Gentoo, Alt Linux, Knоppix. Дается их сравнительное описание, a по ходу изложения всего материала указываются их особенности.Книга написана известными специалистами и консультантами по использованию Linux, авторами многих статей и книг по Linux, заслуживших свое признание в самых широких Linux-кругах. Если вы желаете разобраться в особенностях Linux и познать ее внутренний мир, эта книга — ваш лучший выбор.
Перейти на страницу:

17.1. Установка MySQL

Прежде всего нужно установить пакеты, необходимые для работы MySQL. У меня MySQL версии 4.0.15, поэтому я установил такие пакеты (номера версий у вас, возможно, будут другими, и я их обозначил символами «x»):

♦ MySQL_GPL-4.x.x

♦ MySQL_GPL-client-4.x.x

♦ MySQL_GPL-shared-libs-4.x

♦ MySQL_GPL-bench-4.x.x

♦ MySQL_GPL-resolveip-4.x.x

После установки пакетов нужно создать системную базу данных mysql, содержащую таблицы db, host и user. Скорее всего, она уже создана, но, чтобы окончательно убедиться в этом, введите команду:

# mysql_install_db

17.1.1. Назначение пароля суперпользователя

Учетные записи и пароли всех пользователей, которые имеют право работать с сервером, содержатся в таблице user. Сразу же после создания базы mysql в эту таблицу внесен только один пользователь — root. По умолчанию он не имеет пароля. Этот пароль нужно установить немедленно: не нужно объяснять, как это важно для безопасности системы. Для изменения пароля запустите сервер командой:

# safe_mysqld &

Эта команда запустит сервер в режиме демона и освободит консоль. Если все пакеты были установлены правильно, вы увидите сообщение:

mysql: ready for connections

Затем введите команду:

$ mysql -u root mysql

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

SQL-запросы можно набирать в строке приглашения MySQL-монитора, заканчивая ввод точкой с запятой или командой g (go), а можно редактировать в текстовом редакторе, введя команду е (edit). Список команд MySQL-монитора можно получить по команде h (help).

Измените пароль суперпользователя с помощью следующего запроса:

UPDATE user SET Password=PASSWORD('новый_пароль') WHERE

user='root';

Как вы заметили, это обычный SQL-запрос, обновляющий поле Password таблицы user для пользователя root. При вводе запроса обратите внимание на регистр названий полей: сервер MySQL различает прописные и строчные буквы!

Теперь нужно, чтобы MySQL принял изменения. Для этого выполните еще один запрос SQL:

FLUSH PRIVILEGES;

Завершите сеанс работы с MySQL-монитором, введя команду q (quit). В следующий раз зарегистрироваться на сервере без пароля вы уже не сможете. Теперь нужно запускать MySQL-монитор следующей командой:

$ mysql -u root -p mysql

Ключ -p запросит при регистрации пароль. Имейте в виду: забытый пароль нельзя восстановить. Единственный выход из этого положения — удалить каталог /var/lib/mysql/mysql и создать базу mysql заново командой mysql_install_db.

Для принятия изменений можно также использовать программу mysqladmin с аргументом reload. Вызвать программу можно так:

$ mysqladmin -p reload

Параметр -p вам обязательно нужно использовать, так как вы только что установили пароль для пользователя root.

Установите права доступа к сценарию /etc/rc.d/init.d/mysqld:

# chmod +x /etc/rc.d/init.d/mysqld

Теперь можете перезапустить сервер командой

# /etc/rc.d/init.d/mysqld restart

17.1.2. Автозапуск сервера MySQL

Последнее, что вам осталось сделать — это добавить сервер MySQL в автозапуск. С этой целью перейдите в каталог /etc/rc.d/rc3.d и создайте символическую ссылку на файл /etc/rc.d/init.d/mysql:

# ln -s S14mysql /etc/rc.d/init.d/mysql

Префикс S14 определяет очередность запуска сервера mysqld. В данном случае он запустится после сервисов network (S10) и portmap (S11). У вас эти значения могут быть другими.

17.1.3. Пользователи сервера MySQL и их права

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

GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY

'пароль' WITH GRANT OPTION;

Введенный вами запрос создаст пользователя admin, который будет иметь право выполнять любые операции со всеми базами данных. Этот пользователь будет иметь право подключаться к серверу с компьютера localhost, используя пароль.

Маска *.* определяет, к каким базам данных и таблицам имеет право подключаться тот или иной пользователь. Первая звездочка определяет базу, а вторая — таблицу. Если вам нужно, чтобы пользователь admin имел право подключаться с любого узла, используйте знак процента вместо имени компьютера:

GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY

'пароль' WITH GRANT OPTION;

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

GRANT CREATE,DROP,SELECT,INSERT,UPDATE,DELETE,INDEX ON

user.* TO [email protected]% IDENTIFIED BY 'пароль';

Этот запрос позволяет пользователю user выполнять все операции с его базой данных.

Полный список полномочий представлен в таблице 17.1.


Полномочия пользователей сервера MySQL Таблица 17.1

Полномочия Описание SELECT, INSERT, UPDATE, DELETE Право просматривать, добавлять, модифицировать, удалять данные в таблицах базы данных INDEX Право производить операции с индексами таблиц REFERENCES Право работать со ссылками в базах данных и таблицах CREATE, DROP Право создавать и удалять таблицы и базы данных GRANT, ALTER Право определять полномочия RELOAD, SHUTDOWN, PROCESS Право перезагружать, останавливать сервер и просматривать все процессы (подключения)

Если запрос GRANT у вас не работает, то вы можете внести пользователя непосредственно в таблицу user базы данных mysql. Структура таблицы user выглядит следующим образом:

Host User Password Select_priv Insert_priv Update_priv

Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv

Process_priv File_priv

Поля Host, User, Password — это, соответственно, узел, из которого пользователь может получить доступ, имя и пароль пользователя. Все остальные поля задают полномочия. Если выполнение какой-нибудь операции разрешено пользователю, значение поля должно быть равным «Y», в противном случае — «N».

Например, нам нужно создать пользователя admin, который должен иметь все полномочия. Это можно сделать с помощью такого запроса SQL:

INSERT INTO user(Host,User,Password,Select_priv,Insert_priv,

Update_priv, Delete_priv, Create_priv, Drop_priv,

Reload_priv, Shutdown_priv, Process_priv, File_priv)

VALUES ('localhost', 'admin', password('4td561s12'),

'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');

Для создания обыкновенного пользователя используйте следующий запрос:

INSERT INTO user(Host, User, Password, Select_priv,

Insert_priv, Update_priv, Delete_priv) VALUES('%',

'user', password('123456') , 'Y' , 'Y' , 'Y' , ' Y');

17.2. Клиентская часть MySQL

Удобной программой для просмотра структуры базы данных является mysqlshow. Введите следующую команду:

$ mysqlshow -p mysql

В ответ вы увидите список таблиц, которые находятся в базе данных mysql.

Программа mysqlshow может вызываться с дополнительными ключами, перечисленными в таблице 17.2.


Ключи программы mysqlshow Таблица 17.2

Ключ Назначение --host=имя_узла Задает имя узла, где работает сервер MySQL, к которому вы хотите подключиться --port=номер_порта Определяет номер порта для сервера MySQL --socket=сокет Указывает сокет --user=имя_пользователя Указывает, под каким именем зарегистрироваться на сервере MySQL -p Запрашивает ввод пароля

Для самих же операций с данными используется программа mysql. Она понимает те же ключи, что и mysqlshow, и много других, среди которых очень полезный ключ -s. Я рекомендую вам всегда его использовать. Этот ключ подавляет большинство ненужных сообщений, выводимых MySQL-клиентом, что существенно повышает производительность на медленных линиях связи.

17.3. Установка PHP и настройка связки Apache+PHP+MySQL

Перейти на страницу:
Комментариев (0)