Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LINUX-сервер пошаговые инструкции инсталляции и настройки - Бруй В. В. , Карлов С. В

..pdf
Скачиваний:
119
Добавлен:
24.05.2014
Размер:
3.66 Mб
Скачать

Глава 31. MySQL – сервер баз данных

451

Осуществите проверку подлинности имеющегося в вашем распоряжении архива с исходными кодами с использованием процедур, описанных в шаге 1 радела «Компиляция, оптимизация и инсталляция

OpenSSL» главы 12.

Шаг 2

Распакуйте архивы с исходными кодами MySQL в каталоге /var/tmp:

[root@drwalbr tmp]# tar xzpf mysql-4.0.13.tar.gz

Шаг 3

Создайте специального пользователя mysql, от имени которого будет запускаться MySQL:

[root@drwalbr tmp]# groupadd -g 27 mysql > /dev/null 2>&1 || : [root@drwalbr tmp]# useradd -u 27 -g 27 -s /bin/bash -M -r -d

/var/lib/mysql mysql > /dev/null 2>&1 || :

Шаг 4

Отконфигурируйте исходные коды MySQL:

[root@drwalbr tmp]# cd mysql-4.0.13

[root@drwalbr mysql-4.0.13]# CFLAGS="-static -O2 -march=i686 -funroll- loops" \

CXXFLAGS="-static -O2 -march=i686 -funroll-loops -felide-constructors - fno-exceptions -fno-rtti" \

./configure \ --prefix=/usr \ --libexecdir=/usr/sbin \ --sysconfdir=/etc \

--localstatedir=/var/lib/mysql \ --mandir=/usr/share/man \ --disable-shared \ --enable-assembler \ --with-thread-safe-client \ --with-mysqld-user="mysql" \

--with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-client-ldflags=-all-static \ --with-mysqld-ldflags=-all-static \ --without-readline \

--without-debug \ --without-docs \ --without-bench \ --with-charset=cp1251 \ --with-extra-charsets=all

Шаг 5

Откомпилируйте, проинсталлируйте MySQL, создайте и сохраните в надежном месте список установленных файлов:

[root@drwalbr mysql-4.0.13]# make

[root@drwalbr mysql-4.0.13]# find /* > /root/mysql1 [root@drwalbr mysql-4.0.13]# make install [root@drwalbr mysql-4.0.13]# mkdir -p /var/run/mysqld

[root@drwalbr mysql-4.0.13]# chown mysql.mysql /var/run/mysqld

[root@drwalbr mysql-4.0.13]# rm -rf /usr/mysql-test/

[root@drwalbr mysql-4.0.13]# rm -f /usr/share/mysql/mysql-*.spec [root@drwalbr mysql-4.0.13]# rm -f /usr/share/mysql/mysql-log-rotate

[root@drwalbr mysql-4.0.13]# strip /usr/sbin/mysqld [root@drwalbr mysql-4.0.13]# find /* > /root/mysql2

[root@drwalbr mysql-4.0.13]# diff /root/mysql1 /root/mysql2

>/root/mysql.installed

[root@drwalbr mysql-4.0.13]# mv /root/mysql.installed

/very_reliable_place/mysql.installed.YYYYMMDD

Конфигурирование MySQL

Конфигурирование MySQL осуществляется с использованием следующих файлов:

главного конфигурационного файла /etc/my.cnf;

452

Часть 8. Программное обеспечение для сервера баз данных

файла настройки чередования регистрационных файлов /etc/logrotate.d/mysqld;

файла инициализации /etc/init.d/mysqld.

Конфигурационный файл /etc/my.cnf

В комплекте поставки MySQL имеется несколько примеров конфигурационных файлов, оптимизированных для систем различных конфигураций и назначений. В rpm-варианте инсталляции эти файлы находятся в каталоге /usr/share/mysql. Файл my-huge.cnf содержит пример конфигурации для высокопроизводительных серверов с объемом оперативной памяти более 1…2 Гбайт, используемых исключительно в качестве сервера баз данных. Файл my-lage.cnf содержит пример конфигурации для высокопроизводительных серверов с объемом оперативной памяти более 512 Мбайт, используемых исключительно в качестве сервера баз данных. Файл my-medium.cnf содержит пример конфигурации для сервера с небольшим объемом оперативной памяти 32…64 Мбайт, преимущественно используемого в качестве сервера баз данных, или серверов с объемом оперативной памяти до 128 Мбайт, на которых MySQL функционирует совместно с другими службами. Файл my-small.cnf содержит пример конфигурации для систем с объемом оперативной памяти менее 64 Мбайт, на которых обращение к серверу баз данных осуществляется эпизодически.

Шаг 1

Создайте файл /etc/my.cnf, руководствуясь вашими потребностями, техническими характеристиками системы, на которой осуществляется установка, и ниже приведенными рекомендациями:

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock skip-locking

set-variable = key_buffer=16 set-variable = max_allowed_packet=1M set-variable = table_cache=128 set-variable = sort_buffer=512K set-variable = net_buffer_length=8k

set-variable = myisam_sort_buffer_size=8M #Only for RPM installation default-character-set=cp1251

[mysql.server]

user=mysql

basedir=/var/lib

[safe_mysqld] err-log=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

[isamchk]

set-variable = key_buffer=20M set-variable = sort_buffer=20M set-variable = read_buffer=2M set-variable = write_bufer=2M

[myisamchk]

set-variable = key_buffer=20M set-variable = sort_buffer=20M set-variable = read_buffer=2M set-variable = write_bufer=2M

Строку:

default-character-set=cp1251

определяющую кодировку, используемую по умолчанию, следует использовать только в файле /etc/my.cnf, создаваемом при инсталляции из rpm-пакета. При инсталляции из исходных кодов указанная опция задается при конфигурировании исходных кодов (см. выше шаг 4 раздела «Компиляция, оптимизация и инсталляция MySQL").

Глава 31. MySQL – сервер баз данных

453

Здесь не рассматривается назначение всех опций, используемых в этом конфигурационном файле, т. к. они подробно описаны во входящей в комплект поставки MySQL документации, находящейся на сервере разработчиков и русскоязычном ресурсе http://www.mysql.ru.

Шаг 2

Установите права доступа к файлу /etc/my.cnf и назначьте его владельцем пользователя root:

[root@drwalbr /]# chmod 644 /etc/my.cnf [root@drwalbr /]# chown 0.0 /etc/my.cnf

Конфигурационный файл /etc/logrotate.d/mysqld

Шаг 1

Создайте файл /etc/logrotate.d/mysqld, содержащий следующие строки:

/var/log/mysqld.log { missingok

create 0640 mysql mysql prerotate

[ -e /var/lock/subsys/mysqld ] && /bin/kill -HUP `/bin/cat /var/run/mysqld/mysqld.pid` || /bin/true

endscript postrotate

[ -e /var/lock/subsys/mysqld ] && /bin/kill -HUP `/bin/cat /var/run/mysqld/mysqld.pid` || /bin/true

endscript

}

При использовании такого варианта конфигурации файлы регистрации будут чередоваться еженедельно.

Шаг 2

Установите права доступа к файлу /etc/logrotate.d/mysqld и назначьте его владельцем пользователя root:

[root@drwalbr /]# chmod 644 /etc/logrotate.d/mysqld [root@drwalbr /]# chown 0.0 /etc/logrotate.d/mysqld

Файл инициализации /etc/init.d/mysqld

Создание файла /etc/init.d/mysqld необходимо только в случае инсталляции MySQL из исходных кодов. При инсталляции из rpm-пакетов инициализационный файл /etc/init.d/mysql создается автоматически. Если вы устанавливаете MySQL из rpm-пакетов, пропустите этот раздел и перейдите к следующему.

Шаг 1

Создайте файл инициализации /etc/init.d/mysqld, содержащий следующие строки:

#!/bin/bash

#This shell script takes care of starting and stopping MySQL.

#chkconfig: 345 78 12

#description: MySQL is a fast & secure SQL database server.

#processname: mysqld

#config: /etc/my.cnf

#pidfile: /var/run/mysqld/mysqld.pid

#Source function library.

. /etc/init.d/functions

#Source networking configuration.

. /etc/sysconfig/network

#Source for additional options if we have them. if [ -f /etc/sysconfig/mysql ] ; then

454

Часть 8. Программное обеспечение для сервера баз данных

. /etc/sysconfig/mysql

fi

# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

#If MySQL is not available stop now. [ -f /usr/bin/mysqld_safe ] || exit 0

#Path to the MySQL binary.

safe_mysqld=/usr/bin/mysqld_safe

RETVAL=0

prog="MySQL" echo "6" start() {

if [ ! -d /var/lib/mysql/mysql ] ; then action $"Initializing $prog database: "

/usr/bin/mysql_install_db ret=$?

chown -R mysql.mysql /var/lib/mysql if [ $ret -ne 0 ] ; then

return $ret

fi

fi

chown -R mysql.mysql /var/lib/mysql chmod 0755 /var/lib/mysql

daemon $safe_mysqld --defaults-file=/etc/my.cnf >/dev/null 2>&1 & ret=$?

if [ $ret -eq 0 ]; then

action $"Starting $prog: " /bin/true

else

action $"Starting $prog: " /bin/false

fi

[ $ret -eq 0 ] && touch /var/lock/subsys/mysqld return $ret

}

stop() {

kill `cat /var/run/mysqld/mysqld.pid 2> /dev/null ` > /dev/null

2>&1

ret=$?

if [ $ret -eq 0 ]; then

action $"Shutting down $prog: " /bin/true

else

action $"Shutting down $prog: " /bin/false

fi

[ $ret -eq 0 ] && rm -f /var/lock/subsys/mysqld

[ $ret -eq 0 ] && rm -f /var/lib/mysql/mysql.sock return $ret

}

# See how we were called. case "$1" in

start)

start

;;

stop)

stop

;;

*)

echo $"Usage: $0 {start|stop}" exit 1

Глава 31. MySQL – сервер баз данных

455

esac exit $?

Шаг 2

Установите права доступа к файлу/etc/init.d/mysqld и назначьте его владельцем пользователя

root:

[root@drwalbr /]# chmod 700 /etc/init.d/mysqld [root@drwalbr /]# chown 0.0 /etc/init.d/mysqld

Шаг 3

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

[root@drwalbr /]# chkconfig --add mysqld [root@drwalbr /]# chkconfig --level 345 mysqld on

Установка пароля пользователя root и удаление демонстрационной базы данных test

Шаг 1

Запустите MySQL. Для запуска сервера баз данных, инсталлированного с помощью rpm-пакетов, используйте команду:

[root@drwalbr dymatel]# /etc/init.d/mysql start

[root@drwalbr dymatel]# Starting mysqld daemon with databases from /var/lib/mysql

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

[root@drwalbr /]# /etc/init.d/mysqld start

Запускается MySQL: [ОК]

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

Шаг 2 Попытайтесь установить соединение с сервером баз данных с системы, на которой установлен

MySQL – в рассматриваемом примере drwalbr.und. Для установки соединения с правами администратора сервера баз данных выполните от имени обычного пользователя команду:

[drwalbr@drwalbr

/]$ mysql -u

root mysql

 

Reading

table information for

completion

of table and column names

You can

turn off

this feature

to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 0 to server version: 4.0.13

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Вы подключились к серверу баз данных без ввода пароля. Это также может сделать любой пользователь системы drwalbr.und, что очень плохо, с точки зрения безопасности вашей системы. Установите пароль для пользователя root:

mysql> SET PASSWORD FOR root=PASSWORD('$ecretnoe_sL0vo');

Query OK, 0 rows affected (0.00 sec)

Для вступления изменений в силу выполните команду: mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

Отключитесь от сервера баз данных: mysql> \quit

Bye

Шаг 3 Попробуйте вновь установить соединение с сервером баз данных, не вводя пароль:

[drwalbr@drwalbr /]$ mysql -u root -h drwalbr.und

456

Часть 8. Программное обеспечение для сервера баз данных

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

ERROR 1045: Access denied for user: 'root@drwalbr.und' (Using password: NO)

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

[drwalbr@drwalbr /]$ mysql -u root -h drwalbr -p Enter password: $ecretnoe_sL0vo

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 4.0.13

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Шаг 4 Выведите список баз данных, установленных на вашем сервере:

mysql>

SHOW DATABASES;

+

----------

 

+

| Database |

+----------

 

 

+

| mysql

|

| test

 

|

+----------

 

 

+

2

rows

in set (0.00 sec)

В комплект поставки MySQL входит база данных с именeм test, к которой может подключиться без ввода пароля любой пользователь системы, на которой установлен сервер баз данных.

Необходимо удалить базу данных test. Для этого выполните: mysql> DROP DATABASE test;

Query OK, 0 rows affected (0.00 sec)

Убедитесь в том, что база данных test удалена: mysql> SHOW DATABASES;

+

----------

+

| Database |

+----------

 

+

| mysql

|

+----------

 

+

1

rows in set (0.00 sec)

Отключитесь от сервера баз данных: mysql> \quit

Bye

и подключитесь к базе данных test в качестве произвольного пользователя, например, xaker:

[drwalbr@drwalbr /]$ mysql -u xaker -h drwalbr.und

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 to server version: 4.0.13

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Вы, не вводя пароля, установили соединение с сервером баз данных и можете вновь создать базу данных test, то же самое может сделать и любой пользователь системы, имеющий доступ к консоли, на которой установлен сервер баз данных. Это происходит потому что, не смотря на то, что вы удалили базу данных test, в базе данных mysql, предназначенной для хранения информации о полномочиях пользователей, сохранились записи, разрешающие доступ с локальной системы к базе данных test.

Шаг 5 Для удаления этих записей разорвите соединение с сервером баз данных и подключитесь вновь в ка-

честве пользователя root: mysql> \quit Bye

Глава 31. MySQL – сервер баз данных

457

[drwalbr@drwalbr /]$

mysql -u root -h drwalbr.und –p

Enter password: $ecretnoe_sL0vo

 

Welcome to

the MySQL

monitor.

Commands end with ; or \g.

Your MySQL

connection id is 10

to server version: 4.0.13

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Подключитесь к базе данных mysql: mysql> USE mysql;

Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A

Database changed

Создайте список таблиц базы данных mysql:

mysql>

SHOW TABLES;

+-----------------

 

+

| Tables_in_mysql |

+-----------------

 

+

| columns_priv

|

| db

 

|

| func

 

|

| host

 

|

| tables_priv

|

| user

 

|

+-----------------

 

+

6 rows

in set (0.00 sec)

Данные о всех пользователях сервера баз данных хранятся в таблице user. С полным перечнем полей таблицы можно ознакомится с помощью команды:

mysql> DESCRIBE user;

 

 

 

 

+------------------

+----------------------

+------

+-----

+---------

+-------

+

 

 

 

 

 

| Field

| Type

| Null | Key | Default | Extra

|

 

 

 

 

 

+------------------

+----------------------

+------

+-----

+---------

+-------

+

 

 

 

 

 

| Host

| varchar(60) binary

|

| PRI |

|

|

 

 

 

 

 

| User

| varchar(16) binary

|

| PRI |

|

|

 

 

 

 

 

| Password

| varchar(16) binary

|

|

|

|

|

 

 

 

 

 

| Select_priv

| enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

| Insert_priv

| enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

| Update_priv

| enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

| Delete_priv

| enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

| Create_priv

| enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

| Drop_priv

| enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

| Reload_priv

| enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

| Shutdown_priv

| enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

458

 

Часть 8. Программное обеспечение для сервера баз данных

| Process_priv

|

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| File_priv

|

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| Grant_priv

|

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| References_priv

|

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| Index_priv

|

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| Alter_priv

|

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| Show_db_priv

|

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| Super_priv

|

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| Create_tmp_

|

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| table_priv

|

 

|

|

|

|

|

 

 

 

 

 

 

| Lock_tables_priv |

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| Execute_priv

|

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| Repl_slave_priv

|

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| Repl_client_priv |

enum('N','Y')

|

|

| N

|

|

 

 

 

 

 

 

| ssl_type

|

enum('','ANY','X509'

|

|

|

|

|

 

 

 

 

 

 

|

|

'SPECIFIED')

|

|

|

|

|

 

 

 

 

 

 

| ssl_cipher

|

blob

|

|

|

|

|

 

 

 

 

 

 

| x509_issuer

|

blob

|

|

|

|

|

 

 

 

 

 

 

| x509_subject

|

blob

|

|

|

|

|

 

 

 

 

 

 

| max_questions

|

int(11) unsigned

|

|

| 0

|

|

 

 

 

 

 

 

| max_updates

|

int(11) unsigned

|

|

| 0

|

|

 

 

 

 

 

 

| max_connections

|

int(11) unsigned

|

|

| 0

|

|

 

 

 

 

 

 

+------------------+----------------------+------+-----+---------+-------

+

 

 

 

 

 

 

31 rows in set (0.00

sec)

 

 

 

 

а их назначение подробно описано в документации. С точки зрения решаемой задачи, нас интересуют параметры, содержащиеся в полях Host, User, Password и *_priv, в которых находится информация об имени хоста (Host), с которого разрешен доступ пользователю (User) c паролем (Password). В полях *_priv содержится информация о привилегиях пользователя.

Для просмотра содержимого таблицы user выполните: mysql> SELECT * FROM user;

+-------------+------+----------+-------------+------------...

| Host | User | Password | Select_priv | Insert_priv +-------------+------+----------+-------------+------------...

| localhost

| root |

| Y

| Y

| drwalbr.und

| root |

| Y

| Y

|

localhost

|

|

|

N

|

N

|

drwalbr.und |

|

|

N

|

N

+-------------+------+----------+-------------+------------...

4 rows in set (0.00 sec)

Глава 31. MySQL – сервер баз данных

459

Из полученной информации видно, что установка соединений разрешена любому пользователю (пустые значения в третьей и четвертой строке столбца User) локальной системы без ввода пароля (пустые значения в третьей и четвертой строке столбца Password). При этом пользователь не имеет никаких привилегий на уровне сервера баз данных в целом (символы N в третьей и четвертой строке столбцов *_priv). Привилегии в рассматриваемом случае определяются другой таблицей базы данных mysql db. С полным перечнем полей таблицы db можно ознакомиться с помощью команды:

mysql> DESCRIBE db;

 

 

 

 

 

 

 

 

+------------------

 

 

+

-----------------

+

------+-----

+

---------

+-------

+

| Field

 

 

|

Type

| Null | Key |

Default | Extra |

+------------------

 

 

+-----------------

 

+

------+-----

+---------

 

+-------

+

| Host

 

 

|

char(60) binary |

| PRI |

 

|

|

| Db

 

 

|

char(64) binary |

| PRI |

 

|

|

| User

 

 

|

char(16) binary

|

| PRI |

 

|

|

| Select_priv

 

|

enum('N','Y')

|

|

|

N

|

|

| Insert_priv

 

|

enum('N','Y')

|

|

|

N

|

|

| Update_priv

 

|

enum('N','Y')

|

|

|

N

|

|

| Delete_priv

 

|

enum('N','Y')

|

|

|

N

|

|

| Create_priv

 

|

enum('N','Y')

|

|

|

N

|

|

| Drop_priv

 

|

enum('N','Y')

|

|

|

N

|

|

| Grant_priv

 

|

enum('N','Y')

|

|

|

N

|

|

| References_priv

 

|

enum('N','Y')

|

|

|

N

|

|

| Index_priv

 

|

enum('N','Y')

|

|

|

N

|

|

| Alter_priv

 

|

enum('N','Y')

|

|

|

N

|

|

| Create_tmp_

 

|

enum('N','Y')

|

|

|

N

|

|

| table_priv

 

|

enum('N','Y')

|

|

|

N

|

|

| Lock_tables_priv

|

enum('N','Y')

|

|

|

N

|

|

+------------------

 

 

+-----------------

 

+

------+-----

+---------

 

+-------

+

15 rows in set (0.00

sec)

 

 

 

 

 

 

Для просмотра содержимого таблицы db наберите:

 

 

 

 

 

mysql> SELECT * FROM

db;

 

 

 

 

 

 

+------+---------+------+-------------+-------------+-------------...

 

| Host | Db

|

User | Select_priv | Insert_priv

| Update_priv

 

+------+---------+------+-------------+-------------+-------------...

 

| %

| test

|

 

| Y

 

| Y

 

| Y

 

 

| %

| test\_% |

 

| Y

 

| Y

 

| Y

 

 

+------+---------+------+-------------+-------------+-------------...

2 rows in set (0.01 sec)

Из полученного вывода видно, что подключение к базе данных test разрешена любому пользователю (пустые значения в первой и второй строках столбца User), при этом пользователь имеет все привилегии (символы Y в первой и второй строке в столбцах *_priv).

Удалите ненужные записи из таблицы user и db: mysql> DELETE FROM user WHERE User ="";

Query OK, 2 rows affected (0.00 sec)

mysql> DELETE FROM db WHERE Db ="test";

Query OK, 1 row affected (0.00 sec)

mysql> DELETE FROM db WHERE Db ="test\_%";

Query OK, 1 row affected (0.00 sec)

Для вступления изменений в силу выполните команду: mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

Разорвите соединение с сервером: mysql> \quit

Bye

Шаг 6

Попробуйте подключиться к базе данных test c полномочиями пользователя xaker:

460

Часть 8. Программное обеспечение для сервера баз данных

[drwalbr@drwalbr /]$ mysql -u xaker -h drwalbr.und

Вам не удастся установить соединение, а на экране появится сообщение об ошибке:

ERROR 1045: Access denied for user: 'xaker@drwalbr.und' (Using password:

NO)

Монтирование раздела баз данных с атрибутом noatime

Если на вашем сервере каталог, в который установлен MySQL – например, /var/lib – смонтирован на отдельном разделе диска, то для некоторого повышения производительности сервера баз данных можно перемонтировать этот раздел с атрибутом noatime.

Для этого необходимо выполнить следующие операции:

Шаг 1

В файле /etc/fstab замените строку, подобную этой:

/dev/hdb6

/var/lib

ext3

defaults

0

1

на:

 

 

defaults,noatime 0

 

 

/dev/hdb6

/var/lib

ext3

 

1

Шаг 2

Перемонтируйте раздел диска, на котором находится каталог /var/lib с атрибутом noatime:

[root@drwalbr /]# mount /var/lib -oremount

Шаг 3 Проверьте атрибуты монтирования дискового раздела с каталогом:

[root@drwalbr/]# cat /proc/mounts

| grep lib

 

/dev/hdb6

/var/lib

ext3

defaults,noatime 0

1

Пример использования MySQL

Часто при создании интерактивных Web-ресурсов (форумов, поисковых систем и т. п.) начинающие пользователи сталкиваются с проблемой создания единственной базы данных, доступ к которой следует разрешить только определенному пользователю. При этом требуется также вносить некоторые изменения в данные таблиц. Ниже приведен пример создания и модификации данных в такой базе данных.

Шаг 1 Для создания базы данных от имени обычного пользователя установите соединение с сервером баз

данных с полномочиями пользователя root:

[drwalbr@drwalbr /]$ mysql -u root -h drwalbr -p Enter password: $ecretnoe_sL0vo

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 26 to server version: 4.0.13

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Создайте базу данных, например, с именем friends_book: mysql> CREATE DATABASE friends_book;

Query OK, 1 row affected (0.00 sec)

Проверьте наличие вновь созданной базы данных: mysql> SHOW DATABASES;

+

--------------

+

| Database

|

+--------------

 

+

| friends_book |

| mysql

|

+--------------

 

+

2

rows in set (0.00 sec)

Соседние файлы в предмете Информатика