Библиотека сайта rus-linux.net
В некоторых случаях необходимо установить 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