Сначала проверьте, работает ваш сервер MySQL или нет. Вы можете использовать следующую команду, чтобы проверить это —
ps -ef | grep mysqld
Если ваш MySql запущен, вы увидите процесс mysqld, перечисленный в вашем результате. Если сервер не запущен, вы можете запустить его с помощью следующей команды —
root@host# cd /usr/bin ./safe_mysqld &
Теперь, если вы хотите выключить уже работающий сервер MySQL, вы можете сделать это с помощью следующей команды:
root@host# cd /usr/bin ./mysqladmin -u root -p shutdown Enter password: ******
Настройка учетной записи пользователя MySQL
Чтобы добавить нового пользователя в MySQL, вам просто нужно добавить новую запись в таблицу пользователей в базе данных mysql .
Следующая программа является примером добавления нового гостя пользователя с привилегиями SELECT, INSERT и UPDATE с паролем guest123; SQL-запрос —
root@host# mysql -u root -p Enter password:******* mysql> use mysql; Database changed mysql> INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y'); Query OK, 1 row affected (0.20 sec) mysql> FLUSH PRIVILEGES; Query OK, 1 row affected (0.01 sec) mysql> SELECT host, user, password FROM user WHERE user = 'guest'; +-----------+---------+------------------+ | host | user | password | +-----------+---------+------------------+ | localhost | guest | 6f8c114b58f2ce9e | +-----------+---------+------------------+ 1 row in set (0.00 sec)
При добавлении нового пользователя не забудьте зашифровать новый пароль с помощью функции PASSWORD (), предоставляемой MySQL. Как видно из приведенного выше примера, пароль mypass зашифрован на 6f8c114b58f2ce9e.
Обратите внимание на утверждение FLUSH PRIVILEGES. Это говорит серверу перезагрузить таблицы предоставления. Если вы не используете его, то вы не сможете подключиться к MySQL, используя новую учетную запись пользователя, по крайней мере, до перезагрузки сервера.
Вы также можете указать другие привилегии для нового пользователя, установив значения следующих столбцов в пользовательской таблице на «Y» при выполнении запроса INSERT, или вы можете обновить их позже, используя запрос UPDATE.
- Select_priv
- Insert_priv
- Update_priv
- Delete_priv
- Create_priv
- Drop_priv
- Reload_priv
- Shutdown_priv
- Process_priv
- File_priv
- Grant_priv
- References_priv
- Index_priv
- Alter_priv
Другой способ добавить учетную запись пользователя — использовать команду GRANT SQL. В следующем примере будет добавлен пользователь zara с паролем zara123 для конкретной базы данных, которая называется TUTORIALS .
root@host# mysql -u root -p password; Enter password:******* mysql> use mysql; Database changed mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON TUTORIALS.* -> TO 'zara'@'localhost' -> IDENTIFIED BY 'zara123';
Это также создаст запись в таблице базы данных MySQL, которая называется user .
ПРИМЕЧАНИЕ. — MySQL не завершает команду, пока вы не введете точку с запятой (;) в конце команды SQL.
Конфигурация файла /etc/my.cnf
В большинстве случаев вам не следует трогать этот файл. По умолчанию он будет иметь следующие записи —
[mysqld] datadir = /var/lib/mysql socket = /var/lib/mysql/mysql.sock [mysql.server] user = mysql basedir = /var/lib [safe_mysqld] err-log = /var/log/mysqld.log pid-file = /var/run/mysqld/mysqld.pid
Здесь вы можете указать другой каталог для журнала ошибок, в противном случае вам не следует изменять какие-либо записи в этой таблице.
Административная команда MySQL
Вот список важных команд MySQL, которые вы будете время от времени использовать для работы с базой данных MySQL —
-
USE Databasename — это будет использоваться для выбора базы данных в рабочей области MySQL.
-
ПОКАЗАТЬ БАЗЫ ДАННЫХ — перечисляет базы данных, которые доступны СУБД MySQL.
-
SHOW TABLES — Показывает таблицы в базе данных после выбора базы данных командой use.
-
SHOW COLUMNS FROM tablename: показывает атрибуты, типы атрибутов, ключевую информацию, разрешен ли NULL, значения по умолчанию и другую информацию для таблицы.
-
SHOW INDEX FROM tablename — представляет подробную информацию обо всех индексах таблицы, включая ПЕРВИЧНЫЙ КЛЮЧ.
-
SHOW TABLE STATUS LIKE tablename \ G — Сообщает подробную информацию о производительности и статистике СУБД MySQL.
USE Databasename — это будет использоваться для выбора базы данных в рабочей области MySQL.
ПОКАЗАТЬ БАЗЫ ДАННЫХ — перечисляет базы данных, которые доступны СУБД MySQL.
SHOW TABLES — Показывает таблицы в базе данных после выбора базы данных командой use.
SHOW COLUMNS FROM tablename: показывает атрибуты, типы атрибутов, ключевую информацию, разрешен ли NULL, значения по умолчанию и другую информацию для таблицы.
SHOW INDEX FROM tablename — представляет подробную информацию обо всех индексах таблицы, включая ПЕРВИЧНЫЙ КЛЮЧ.
SHOW TABLE STATUS LIKE tablename \ G — Сообщает подробную информацию о производительности и статистике СУБД MySQL.
В следующей главе мы обсудим, как синтаксис PHP используется в MySQL.