Как выдать админку через mysql
Создание нового пользователя и настройка прав доступа в MySQL
В современных реалиях сложно найти даже самое простое приложение, которое бы не требовало подключения базы данных – места для хранения электронной информации. Обычно для работы с такими хранилищами используется система управления базами данных. MySQL – самая распространенная и популярная СУБД в мире.
Давайте выясним, чем же она хороша и как с ней работать.
База данных MySQL: что это такое и в чем ее преимущества
MySQL – это реляционная система управления базами данных с открытым исходным кодом, написанная на языках программирования C и C++. Благодаря ей можно оптимизировать работу сайта или мобильного/десктопного приложения.
База данных – это место для структурированного хранения данных. Например, чтобы найти в смартфоне сохраненную картинку, мы используем для этого галерею. В данном случае картинки – это данные, а галерея – база данных.
Такой же подход используется и на многих сайтах, где подключены формы регистрации, системы оформления заказа и прочее. Когда вы регистрируетесь на сервисе, вся полученная от вас информация сохраняется в базе данных – благодаря этому вы можете повторно войти в свой аккаунт и получить доступ к внесенным ранее изменениям.
Если вести крупный ресурс без БД, то на это будет уходить очень много времени и средств. Базы данных группируют и упорядочивают информацию, упрощают получение доступа к ней. Чтобы администрировать такой большой поток данных, используются СУБД: MySQL, Microsoft SQL Server, PostgreSQL и другие.
MySQL хранит всю информацию в табличном виде. Извлечь данные из одной или нескольких таблиц можно с помощью запроса. Запросы в MySQL – это то, на чем все строится, с их помощью можно выполнять всевозможные операции с данным.
Столбцы таблицы всегда строго упорядочены, а расположение строк при необходимости может меняться в зависимости от информации в ячейках. Посмотрите на простую адресную книжку в виде таблицы:
Принцип работы с таблицами следующий: к серверу, на котором хранятся и обрабатываются структурированные данные, подключаются клиенты для получения необходимой информации, а для взаимодействия между пользователем и сервером используется специальное ПО. Заполнение подобных и более крупных таблиц происходит с помощью языка программирования SQL.
Исходя из пользовательского опыта, можно выделить следующие особенности MySQL:
На этом с теоретической частью закончим.
Создание нового пользователя в MySQL
После установки MySQL в базе данных автоматически будет создан новый пользователь root. Работать под таким именем небезопасно, поэтому рекомендуется создавать нового пользователя и выполнять необходимые действия под ним. Давайте рассмотрим два способа создания нового пользователя в MySQL – через phpMyAdmin и через консоль.
Вариант 1: с помощью phpMyAdmin
Нам потребуется phpMyAdmin – приложение для работы с базой данных, которое обычно по умолчанию предустановлено на хостинге либо локальном сервере.
Чтобы добавить нового пользователя в phpMyAdmin, воспользуемся инструкцией:
Подробнее о правах доступа мы поговорим чуть позже, а пока давайте рассмотрим альтернативный метод добавления пользователя в БД.
Вариант 2: через консоль
Если вы подключаетесь к серверу по SSH, то этот способ для вас. Нам потребуется выполнить несколько команд:
Первым дело активируем сервер базы данных:
Создадим нового пользователя:
В кавычках потребуется изменить следующие данные: user – имя пользователя, pswrd – пароль.
Пока что пользователь не имеет разрешений, а значит, не может получить доступ к MySQL. Для решения такой проблемы пропишем еще одну строчку кода:
Мы выдали указанному пользователю все доступные права. Осталось сохранить внесенные изменения с помощью команды:
Готово! Теперь вы знаете, как создать нового пользователя в MySQL с правами доступа root.
Права доступа
В MySQL выделяют следующие права доступа:
Как изменить права доступа в MySQL
Чтобы предоставить те или иные права доступа, мы можем воспользоваться административной панелью или консолью.
Способ 1: через phpMyAdmin
Изменяем права доступа:
Таким образом, мы настроили права доступа для одного пользователя. Впоследствии вы сможете их изменить аналогичным способом.
Вариант 2: в терминале
В данном случае нам потребуется всего несколько команд. Если требуется изменить права доступа для выбранного пользователя MySQL, то необходимо выполнить следующее:
Значения внутри скобок необходимо заменить:
Если нужно указать несколько прав, то их необходимо прописать через запятую:
Если нужно удалить права у выбранного пользователя:
Полностью удалить пользователя можно командой:
Как посмотреть права доступа в MySQL
Для того чтобы посмотреть, какие права доступа выданы пользователю MySQL, достаточно в консоли прописать команду:
На этом моя статья подходит к концу. Надеюсь, что создать нового пользователя в MySQL для вас больше не проблема. Спасибо за внимание!
Как добавить аккаунт администратора в БД WordPress через MySQL
Несколько дней назад мы столкнулись с проблемой, когда пользовательский сайт был взломан и аккаунт администратора был удалён из базы данных. Это заблокировало какой-либо доступ к панели администратора сайта. В этой статье мы расскажем, как создать аккаунт администратора в базе данных через MySQL.
Помните, вы должны всегда делать резервные копии вашей базы данных перед тем, как делать какие-либо изменения в MySQL. Эта статья требует понимания того, как phpMyAdmin работает.
Первым делом, вам нужно зайти в phpMyAdmin и найти БД вашего WordPress.
Как только вы зашли, то сразу же найдите таблицы wp_users и wp_usermeta. Нажмите на таблицу wp_users.
Нам нужно вставить информацию о новом администраторе, потому нажмите на закладку Insert как на картинке выше. В этой форме добавьте следующее:
Далее мы добавим некоторые значения в таблицу wp_usermeta. Нажмите на эту таблицу и кликните на закладку Insert, как и ранее. Теперь добавьте следующую информацию в форму:
Вставьте следующую строку с этой информацией:
Нажмите на кнопку Go и вот вы создали свой аккаунт. Теперь вы сможете залогиниться с именем пользователя и паролем, что вы указали в предыдущих шагах. Как только вы зашли, зайдите в меню Users и отредактируйте аккаунт, что вы создали. Просто прокрутите страницу вниз и выберите Сохранить. Это позволит WordPress добавить некоторую свою служебную информацию к пользователю.
SQL запрос
Для тех, кто хочет сделать всё быстрее: вы можете просто вставить данный SQL запрос в вашу базу данных.
[sql]
INSERT INTO `databasename`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES (‘4’, ‘demo’, MD5(‘demo’), ‘Your Name’, ‘test@yourdomain.com’, ‘http://www.test.com/’, ‘2011-06-07 00:00:00’, ”, ‘0’, ‘Your Name’);
INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, ‘4’, ‘wp_capabilities’, ‘a:1:
INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, ‘4’, ‘wp_user_level’, ’10’);
Не забудьте поменять имя базы данных на ту, с которой работаете. Также не забудьте изменить соответствующие значения.
Выдача админских привилегий
Хорошая новость для владельцев CSGO серверов. В панели появилась возможность выдавать админки прямо в Панели хостинга. Без установки веб-части Sourcebans
Для работы админок из панели необходимо только установить плагин, на выбор Sourcebans или MaterialAdmin и прописать базу данных в конфиге databases.cfg
База автоматически прописывается на новых заказах, можете проверить это в настройках databases.cfg
Как прописать БД и Админки:
1. После установки плагина открываем настройки, файл databases.cfg
2. В другой вкладке открываем страницу с Базой данных нашего сервера
3. Копируем шаблон с настройками в файл databases.cfg и подставляем свои данные от БД
Подставлять настройки лучше под строкой, ничего не удаляя и не ломая ковычки, смотри пример на скриншоте.
// When specifying «host», you may use an IP address, a hostname, or a socket file path
Шаблон настроек для плагина SourceBans
Шаблон настроек для плагина MaterialAdmin
4. Подставляем свои данные БД для подключения, который находятся в Панели Управление в разделе «База данных». Сохраняем настройки и делаем рестарт сервера.
6. После этого желательно сделать смену карты и проверять админку.
Пароль вводится перед входом на сервер в виде:
Как выдать админку через mysql


Все аккаунты всегда находятся в папке «scriptfiles» ИЩИТЕ ТАМ
(совет пользуйтесь программой FileZilla)
1) Зайдите на свой сервер зарегистрируйтесь
2) Найдите свой ник откройте его (правой кнопкой мыши «просмотр/правка)- это через FileZille
3) Далее ищем строки
Level = 0 это ваш lvl (ставим сколько угодно, например Level = 2012 )
AdminLevel = 0 это уровень вашей админки (ставим сколько угодно, например AdminLevel = 99999 )
Money= 250 Ну понятно 
VodPrava = 0 )
BizLic = 0 )
FlyLic = 0 )
BoatLic = 0 ) ЭТО ЛИЦЕНЗИИ СТАВИМ ВЕЗДЕ ПО 1 (например VodPrava = 1 )
FishLic = 0 )
GunLic = 0 )
pDostup = 9898 ВОТ ЭТО ОЧЕНЬ ВАЖНО. это пароль от админки, можно ставить любой.
RCON управление сервером SAMP
1.Использование rcon команд администратором
-Заходим в папку samp,далее открываем файл server.cfg
Правим строчку rcon_password 0000,изменяем 0000 на свой пароль
Затем зайдите на свой сервер и введите в чат сервера /rcon login [пароль], например /rcon login 0000.
В чате появиться уведомление о входе «SERVER: You are logged as admin»
2.Rcon команды для админа
Заходим в корень сервера (папка samp)
Открываем файл «samp.ban»,в нем находим строку с нужным нам игроком и удаляем ее
После заходим на сервер и перезагружаем список забаненых (в чате /rcon reloadbans)
Создание пользователей MySQL/MariaDB и предоставление прав доступа
Создание пользователя и выдача прав
Рассмотрим два варианта создания учетных записей в СУБД MySQL/MariaDB.
1. С помощью команды GRANT.
Данный метод позволяет одной командой сразу и создать пользователя, и дать ему права. Но, начиная с MySQL 8, она возвращает ошибку — разработчики запретили ее использование и сначала требуется создать пользователя (с помощью CREATE USER).
> GRANT ON TO [IDENTIFIED BY ] ;
Например, эта команда предоставляет права доступа пользователю и, если его не существует, создает его:
> GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
ALL PRIVILEGES: предоставляет полные права на использование данных.
*.* : права предоставляются на все базы и все таблицы.
dbuser: имя учетной записи.
localhost: доступ для учетной записи будет предоставлен только с локального компьютера.
password: пароль, который будет задан пользователю.
WITH GRANT OPTION: будут предоставлены дополнительные права на изменение структуры баз и таблиц.
2. С помощью команды CREATE USER.
Данный метод является универсальным. Он позволяет создать пользователя в системе без каких либо прав. После права назначаются командой GRANT.
Пример создания учетной записи:
> CREATE USER ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’;
После можно задать права командой:
> GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’localhost’;
Посмотреть существующих пользователей и их привилегии
> SELECT user, host FROM mysql.user;
Список привилегий (для кажого пользователя смотряться отдельно):
> SHOW GRANTS FOR ‘root’@’localhost’;
* где ‘root’@’localhost’ — учетная запись, для которой смотрим привилегии; если упустить FOR, команда выдаст результат для пользователя, под которым выполнено подключение к СУБД.
Смена пароля
Команды отличаются в зависимости от версии СУБД.
MySQL
Версия 5.7.6 и более современная:
> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘New_Password’;
Версия 5.7.5 и древнее:
> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘New_Password’);
MariaDB
В MariaDB команда для смены пароля одна, независимо от версии:
> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘New_Password’);
* в данном примере будет задан пароль New_Password для пользователя root.
Смена пароля пользователю root после установки
Для старых версий СУБД и новых процедуры различаются.
Для смены пароля root необходимо выполнить команду в оболочке mysql по инструкции, описанной выше.
MySQL 8 и выше
Пароль создается автоматически при установке системы. Его можно посмотреть командой:
grep ‘password’ /var/log/mysqld.log
Мы увидим что-то на подобие:
2021-08-16T20:14:13.173577Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: oi25?wznro%W
* где oi25?wznro%W — пароль для пользователя root.
Заходим в оболочку sql с помощью данного пароля:
Сброс пароля для root
При необходимости, мы можем сбросить пароль для суперпользователя mysql. Для этого необходимо запустить сервер баз данных в безопасном режиме и ввести команду на смену пароля.
Для начала необходимо остановить сервис:
systemctl stop mysql
systemctl stop mariadb
Создаем каталог /var/run/mysqld и зададим для него нужные права:
chown mysql:mysql /var/run/mysqld
* в некоторых системах данного каталога может не быть, однако, для безопасного режима mysql он необходим.
Запускаем в безопасном режиме СУБД:
Запускаем оболочку sql — система не потребует пароль:
Выполняем запрос FLUSH PRIVILEGES:
Выходим из оболочки:
Уничтожаем процесс, который запустили ранее:
После, запускаем mysql в нормальном режиме:
systemctl start mysql
systemctl start mariadb
Другие примеры
Рассмотрим часто встречаемые операции по работе с пользователями сервера баз данных.
1. Особые права
Предоставление особых прав пользователю:
> GRANT SELECT, UPDATE ON base1.* TO ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’;
* права на выборку и обновление данных во всех таблицах базы base1 для пользователя dbuser
** список всех возможных прав: all privileges, alter, create, create temporary tables, delete, drop, execute, file, index, insert, lock tables, process, references, reload, replication client, replication slave, select, show databases, shutdown, super, update, usage
2. Удаленное подключение
Разрешение на удаленное подключение и использование базы MySQL:
> GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’192.168.0.55’ IDENTIFIED BY ‘password’;
* предоставит права пользователю dbuser, который будет подключаться с компьютера с IP-адресом 192.168.0.55.
Мы можем сделать менее жесткое ограничение, разрешив доступ из подсети (особенно удобно при использовании динамических адресов):
> GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’192.168.0.%’ IDENTIFIED BY ‘password’;
* в данном примере мы разрешим подключение для любого узла из сети 192.168.0.0/24.
Или мы можем, вовсе, разрешить водключение с любого хоста (не безопасно):
> GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’%’ IDENTIFIED BY ‘password’;
3. Права на резервное копирование
Создание учетной записи MySQL с правами создания резервных копий:
> GRANT SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER, LOCK TABLES ON *.* TO ‘backup’@’localhost’ IDENTIFIED BY ‘backup’;
4. Права доступа к определенной таблице
По сути, это такое же предоставление прав, но с указанием конкретной таблицы после базы:
> GRANT ALL PRIVILEGES ON base1.table1 TO ‘dbuser’@’localhost’ IDENTIFIED BY ‘password’;
* в данном примере предоставлены все права на таблицу table1 в базе base1.
5. Удаление пользователя
Нам может также понадобиться удалить ранее созданного пользователя. Это делается в два этапа:
> REVOKE ALL PRIVILEGES, GRANT OPTION FROM ‘dbuser’@’localhost’;
> DROP USER ‘dbuser’@’localhost’;
* в данном примере мы первой командой отняли все права у пользователя dbuser (localhost) и второй — удалили его.
6. Права на создание других пользователей
Чтобы наш пользователь мог создавать других пользоватлей, задаем права:
GRANT CREATE USER ON *.* TO ‘creator’@’localhost’;
* в данном примере мы даем права учетной записи creator, которая может подключаться к серверу с локального хоста.
Если нужно, чтобы из под данной учетной записи можно было также назначать права, добавим:
GRANT CREATE USER ON *.* TO ‘creator’@’localhost’ WITH GRANT OPTION;
* обратите внимание, что мы просто добавили WITH GRANT OPTION.
Возможные ошибки
1. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
Причина: в новых версиях по умолчанию активированы политики на проверку сложности пароля. Их список можно посмотреть командой:
> SHOW VARIABLES LIKE ‘validate_password%’;
Вывод команды будет, примерно, следующим:
+—————————————+———+
| Variable_name | Value |
+—————————————+———+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+—————————————+———+
> SET GLOBAL validate_password_number_count = 0;
2. ERROR 1728 (HY000): Cannot load from mysql.tables_priv. The table is probably corrupted
Причина: система считает, что таблица tables_priv в базе mysql неисправна.
Решение: чаще всего, ошибка возникает при переносе баз с одного сервера в другой. Если версии СУБД разные, таблица tables_priv может работать со сбоями. Для исправления необходимо выполнить команду mysql_upgrade — она проверяет все таблицы на совместимость с текущей версией MySQL/MariaDB и вносит исправления. Применение команды:












