Как сменить MySQL root пароль на окружении 1С-Битрикс

Где находятся настройки подключения к БД в CMS

WordPress
В корневом каталоге вашего сайта в файле wp-config.php
найдите строки:

/** The name of the database for WordPress */ define('DB_NAME', 'u777777_database');   /** MySQL database username */ define('DB_USER', 'u777777_dbuser');   /** MySQL database password */ define('DB_PASSWORD', 'password');   
  • u777777_database
    — база данных, которую использует сайт;
  • u777777_dbuser
    — пользователь, от имени которого сайт подключается к базе данных;
  • password
    — пароль, с которым сайт подключается к базе данных .

Joomla
В корневом каталоге вашего сайта в файле configuration.php
найдите строки:

var $user = 'u777777_dbuser';   var $db = 'u777777_database';   var $password = 'password';   
  • u777777_dbuser
    — пользователь, от имени которого сайт подключается к базе данных;
  • u777777_database
    — база данных, которую использует сайт;
  • password
    — пароль, с которым сайт подключается к базе данных .

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

Bitrix с новым ядром D7

Начиная с версии «1С-Битрикс: Управление сайтом 14.0» настройки БД хранятся в файле /bitrix/.settings.php в секции «connections»

/bitrix/.settings.php ... 'connections' => array (      'value' => array (        'default' => array (          'className' => '\Bitrix\Main\DB\MysqlConnection',          'host' => 'localhost',          'database' => 'admin_bus',     // название базы данных          'login' => 'admin_bus',        // имя пользователя базы          'password' => 'admin_bus',     // пароль пользователя          'options' => 2, ... 

Bitrix со старым ядром

В корневом каталоге вашего сайта перейдите в подкаталог /bitrix/php_interface/ и в файле dbconn.php найдите строки:

/bitrix/php_interface/dbconn.php ... $DBLogin = "u777777_dbuser"; $DBPassword = "password"; $DBName = "u777777_database"; ... 
  • u777777_dbuser
    — пользователь, от имени которого сайт подключается к базе данных;
  • password
    — пароль, с которым сайт подключается к базе данных;
  • u777777_database
    — база данных, которую использует сайт.

Drupal
В корневом каталоге вашего сайта перейдите в подкаталог /sites/default/ и в файле settings.php
найдите строки:

$databases = array (   'default' =>    array (     'default' =>      array (       'database' => 'u777777_default',   'u777777_default',   'iZh9740f!',          'localhost',       'port' => '',       'driver' => 'mysql',       'prefix' => '',     ),   ), ); 
  • u777777_default
    — имя базы данных:
  • u777777_default
    — пользователь базы данных:
  • iZh9740f!
    — пароль пользователя.

ModX
В корневом каталоге вашего сайта перейдите в подкаталог /core/config/ и в файле config.inc.php
найдите строки:

$database_user = 'u777777_dbuser'; $database_password = 'password'; $dbase = 'u777777_database'; 
  • u777777_dbuser
    — пользователь, от имени которого сайт подключается к базе данных;
  • password
    — пароль, с которым сайт подключается к базе данных;
  • u777777_database
    — база данных, которую использует сайт.

Некоторые приёмы работы в Битрикс на SQL и BASH / Хабр

Я продолжаю писать о Битриксе в контексте обменов, Mysql и командной строки Linux. Эта статья является вводной к серии статей о структуре базы данных Битрикс, где эта тема будет раскрыта достаточно подробно. Для начала же будут представлены решения некоторых небольших, но назойливых задач. Как всегда, знание SQL обязательно. В статье рассматриваются довольно частные вопросы, которые не возникают ежедневно. Конечно, вы можете использовать эти материалы по их прямому назначению, но главная цель статьи не в этом. Я начинаю вскрывать «чёрный ящик» под названием «структура базы данных битрикс», и показывать, что эти знания могут пригодиться для повышения уровня владения как системой, так и базовыми технологиями (SQL, linux shell), что, конечно, помогает решать новые, сложные, интересные, разнообразные задачи. Страница, с которой можно делать SQL запросы в базу, или mysql web клиент битрикс, находится в панели управления Битрикса по пути: «Настройки->Инструменты->SQL запрос». Также, конечно, можно делать запросы из командной строки операционной системы, для чего могу предложить вам несложную операцию извлечения логина и пароля прямо из настроек Битрикса:

log=$(grep -i "login" /home/bitrix/www/bitrix/php_interface/dbconn.php | cut -f2 -d'"') pas=$(grep -i "pass" /home/bitrix/www/bitrix/php_interface/dbconn.php | cut -f2 -d'"') mysql -u$log -p$pas $log 

— таким образом можно получить логин и пароль к базе данных Mysql Bitrix из командной строки linux на bash. Пути, конечно же, заменяйте на ваши собственные. В варианте, предоставляемом виртаульной машиной Битрикс, DOCUMENT_ROOT выглядит как /home/bitrix/www/.

1. Настройка «Избранного» для всех пользователей панели управления Bitrix сразу.

Когда вводится новый сайт, разработчику не хочется объяснять каждому, кто добавляет новости или редактирует страницы, что нужно нажать, чтобы попасть в новости или каталог товаров. Лучше вывести ссылки прямо на стартовую страницу панели управления битрикс, тем более, что в битриксе «рабочий стол» в админке для этого и предназначен. Если настройки так называемого «рабочего стола» можно распространить на всех, кто зайдёт в админку Битрикса, то колонку «Избранное» пользователь заполняет только для себя. Это логично, но обычно пользователи пренебрегают такой возможностью, поэтому сделаем эту работу за них. К тому же, не всё можно поместить на «Рабочий стол», а в «Избранное» можно добавить всё, что угодно, даже ссылку на сторонний ресурс, например, на почту или тикеты службы техподдержки другой системы. Заполнить блок «Избранное» в админке битрикса именно для всех контент-менеджеров панель управления не позволяет: нет такой кнопочки. Поэтому, вначале добавим нужные ссылки в блок «Избранное» для себя. Узнайте ваш ID пользователя. Если вы под администратором (admin) в панели управления, то ваш ID пользователя =1. Очевидно, эти данные относятся к пользователю, и первый взгляд бросается на таблицы, начинающиеся с b_user_, которых в базе Битрикса с десяток. Однако, нужная нам таблица не имеет такого префикса и называется b_favorites. Эта таблица содержит поле COMMON, которое для всех записей имеет значение ‘N’. Как обнаруживается, функция показа избранного для всех пользователей есть, и поле COMMON в таблице b_favorites полностью оправдывает своё наименование.

update b_favorite set common='Y' where user_id=1;

Нам даже не нужно дублировать записи администратора для всех пользователей (а как тогда было бы с вновь заводимыми администраторами сайта?.. Делать mysql триггер?.. Заводить событие?…). Теперь все пользователи админки Bitrix видят те же самые «Избранные», что и вы. Задача решена.

2. Как сменить логин и пароль пользователя битрикс через базу данных. Как сбросить пароль администратора Bitrix.

Если вы не можете зайти в панель управления Битрикс, но база доступна, вы можете либо установить свой собственный пароль для пользователя, либо сделать его таким же, как у какого-то другого пользователя, пароль которого вы знаете. Основные данные всех пользователей хранятся в таблице b_user. Вам нужно знать ID пользователя в системе Битрикс.

Установка собственного логина и пароля Bitrix средствами Mysql

Пароль хранится в базе в виде:md5()
Говорят, они что-то ещё изменили, но если вы сделаете так, то оно будет работать.

update b_user set login='su',password=concat('12345678',md5('12345678stupidpassword')) where id=8;

Пароль битрикс сброшен, задача решена. Заодно, вы можете изменить и логин.

Копирование пароля от другого пользователя

И второй, очень простой, способ сброса пароля в битрикс. На этот раз, нам нужно просто перенести хеш пароля от одного пользователя к другому. Конечно, нужно знать ID обоих пользователей в bitrix, в данном случае пользователю с ID=36 мы устанавливаем пароль от пользователя с ID=895.

update b_user b1 inner join b_user b2 on b2.id=36 set b1.password=b2.password where b1.id=895;

3. Применение настройки полей в редактировании заказа в Bitrix админке для всех пользователей.

В некоей доменной зоне второго уровня, на некотором сайте, в административной панели системы управления Битрикс располагается страница редактирования заказа интернет-магазина, в заголовке таблицы товаров которой есть кнопка настройки в виде шестерёнки, и бывает эта кнопка то синяя, то серая… Нажав на эту кнопку, можно задавать поля заказа, которые будут выводиться в таблице, в том числе и пользовательские свойства заказа. Но при этом, задаётся это только для одного пользователя. Чтобы применить эти настройки ко всем пользователям панели управления битрикса, а не объяснять каждому, «нажмите маленькую кнопочку в заголовке таблицы с товарами, видите список свойств… Выберите нужные вам…», выставим настройки через базу. Эти настройки хранятся в таблице b_user_option, которые сопоставлены определённому пользователю посредством поля user_id. Но есть одна особенность: если user_id=0, то свойство — глобальное, и применяется для всех пользователей.

update b_user_option set user_id=0 where name='table_columns' and category='order_basket_table' and user_id=1

где user_id=1 — ID пользователя, под которым вы настраивали таблицу товаров. Если это admin, то ID=1. Задача решена: Теперь ваши настройки таблицы товаров работают у всех сразу.

4. Сортировка результатов поиска в битрикс по собственному алгоритму.

Если речь идёт о поиске по сайту, основной таблицей для модулей поиска в битриксе является b_search_content. Интересные поля таблицы b_search_content: custom_rank — поле, по которому сортировка работает прежде всех остальных полей param1 — код инфоблока param2 — номер инфоблока module_id — =’iblock’ item_id — id элемента или раздела — для поиска в инфоблоках. Прежде всего нас интересует поле custom_rank. Если в предыдущих случаях мы пользовались предусмотренными, но нереализованными возможностями Битрикс, то для этого поля в панели управления специальная «галочка» есть. Но выставляется она отдельно для каждого элемента, и обычно этой возможностью не пользуются. Это поле кстати оказывается числовым, так и заполним его по своему усмотрению, тем самым задавая собственные правила сортировки результатов поиска. По умолчанию, для всех элементов его значение равно нулю. В моём случае, при поиске товаров в каталоге интернет-магазина, реализованном на решении разработчика romza, нужно было вначале выводить те товары, у которых была установлена некая специальная галочка, которая являлась «свойством», соответствующим наличию товара в определённой торговой точке. Прилетало всё это добро с инкрементальной загрузкой из 1С, поэтому данный SQL запрос был повешен на событие окончания обмена с 1С.

update  b_search_content sc inner join  b_iblock_element_property elp on elp.iblock_element_id=sc.item_id and elp.iblock_property_id= set sc.custom_rank=if(elp.value=,,0) where sc.param1='' and sc.param2= 

В настройке инфоблока должно быть указано «Значения свойств хранятся: в общей таблице (по умолчанию)», а не в отдельной таблице, иначе запрос будет выглядеть несколько по-другому. Сейчас же, за счёт того, что запрос идёт вначале по таблице b_iblock_element_property, а не b_iblock_element, которая является основной для хранения элементов инфоблоков, мы отбираем только те элементы, у которых нужное свойство вообще есть, и если оно равно нужному значению, то поднимается custom_rank, в противном случае, он сбрасывается в ноль. В моём случае задача решена, а для вас имеется полный простор для реализации своей собственной логики сортировки результатов поиска. А если вам не совсем знакомы эти наименования таблиц, то уже в следующей статье я раскрою их назначение более подробно.

Как быстро почистить кеш в битрикс.

«И на footer.php»: Очистка кеша в битрикс через панель управления происходит очень медленно. На самом деле, идёт всего лишь удаление файлов в определённых директориях, просто это делается медленными средствами. Сделаем специальный файл для очистки кеша в битрикс в командной строке linux.

cd /home/bitrix/ cat < clearcache.sh #!/bin/bash cd $( dirname $0 ) basedir=$(pwd)/www/bitrix/ for d in cache managed_cache; do find $basedir$d -mindepth 1 -delete done EOF chmod 0775 clearcache.sh 

Теперь вы можете запустить ./clearcache.sh, и кеш битрикса очистится практически мгновенно. Скрипт этот должен лежать на одну директорию выше, чем DOCUMENT_ROOT вашего сайта. Хотя, вы можете изменить как место его нахождения, так и код, суть в том, что мы должны удалить все файлы из директорий: cache managed_cache stack_cache — раньше была ещё эта директория, но в последних версиях я её не наблюдаю, поэтому сейчас без неё. На самом деле, если удалить и сами директории, ничего не случится, они пересоздадутся. Но более правильно их оставлять. В виртаульной машине Битрикс DOCUMENT_ROOT равен /home/bitrix/www/, если же у вас сайт установлен в другую директорию, скорректируйте скрипт согласно вашим путям.

Ссылка на основную публикацию