Глава 11. Настройка MySQL

В некоторых случаях необходимо установить SQL сервер MySQL. Сделать это несложно:

# urpmi mysql

Будет установлен как сервер, так и клиент.

Остановка сервера :# /etc/init.d/mysql stop; Запуск сервера:# /etc/init.d/mysql start. Проверить состояние сервера можно командой mysqladmin -uroot status .

Давайте создадим новую базу данных (например mydb), создадим пользователя (например mydbadmin) и настроим ему права, при которых он будет иметь доступ к этой базе. Пароль для доступа пусть будет MyPas

Создаем базу данных mydb так: # mysqladmin -u root create mydb. Затем добавляем пользователя mydbadmin с паролем MyPas. При этом разрешаем ему доступ к его базе данных только с localhost:

# mysql -uroot  mysql -e \
"insert into user (host,user,password) values('localhost','mydbadmin',PASSWORD('MyPas'));"

Теперь выдаем пользователю mydbadmin полные права для базы mydb. При этом пользователь mydbadmin по-прежнему ничего не может сделать с другими базами данных:

# mysql -uroot  mysql -e \
"INSERT INTO db VALUES ('localhost','mydb','mydbadmin','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');"

После этого перезапускаем SQL сервер для того, чтобы изменения вошли в силу: #mysqladmin -uroot reload

Итог: сервер установлен, в нем создана новая база данных и заведен пользователь, имеющий полные права для работы с этой базой данных. Теперь давайте сделаем простейшие операции с базой (просто для разминки :-)).

Создаем пробную таблицу test:

# mysql -umydbadmin -pMyPas mydb -e "create table test(id int,name char(255));"

Вставляем в созданную таблицу 2-е записи:

# mysql -umydbadmin -pMyPas mydb -e \
"insert into test values('1','name1');insert into test values(2,'name2');"

Выбираем все записи из нашей таблички test:

# mysql -umydbadmin -pMyPas mydb -e "select * from test"
+------+-------+
| id   | name  |
+------+-------+
|    1 | name1 |
|    2 | name2 |
+------+-------+

Убиваем созданную нами табличку test:

# mysql -umydbadmin -pMyPas mydb -e "drop table test"

Как мы видим, сервер работает нормально.

Не забудьте добавить демона mysqld в автозагрузку:

# chkconfig mysqld on