суббота, 15 декабря 2018 г.

MySQL или MariaDB. Как сбросить пароль root


Как сбросить пароль root для MySQL
или MariaDB

Эта инструкция охватывает сброс пароля root как для более старых,
так и для новых версий MySQL и MariaDB.

Шаг 1 — Определяем версию системы управления
базой данных

Вы можете проверить вашу версию следующей командой:

mysql --version

Для MySQL вы увидите что-то вроде:

mysql Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using EditLine wrapper

Для MariaDB вывод будет примерно таким:

mysql Ver 15.1 Distrib 10.0.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Запомните какая база данных и какой версии у вас запущена, поскольку они пригодятся
нам позже. Далее вам нужно остановить базу данных для ручного доступа к ней.

Шаг 2 — Остановка сервера базы данных

Для изменения пароля root вы должны заранее отключить сервер базы данных.
Для MySQL и MariaDB вы можете сделать это:

sudo systemctl stop mysql

После того, как сервер остановлен, вы вручную получите к нему доступ для сброса пароля рута.

Шаг 3 — Перезапуск сервера базы данных без проверки разрешений

Если вы запускаете MySQL и MariaDB без загрузки информации о привилегиях пользователя, она позволит вам без ввода пароля получить доступ к командной строке базы данных с привилегиями рута. Это позволит вам получить доступ к базе данных без знания парольной фразы.
Чтобы это сделать, вам нужно не дать базе данных загрузить таблицы привилегий, которые содержат информацию о привилегиях пользователя. Поскольку это несёт риск безопасности, вы также должны избежать сетевой активности, чтобы не допустить подключения других клиентов.
Запустите базу данных без загрузки таблиц привилегий и без доступа к сети:

sudo mysqld_safe --skip-grant-tables --skip-networking &

Амперсант на конце этой команды сделает так, что процесс запустится в фоне, поэтому вы сможете продолжать использовать ваш терминал.

mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.

Если вы видите ошибку

mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.

То выполните следующие команды:

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld


И запустите ещё раз:

sudo mysqld_safe --skip-grant-tables --skip-networking &


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

mysql -u root


Вы сразу же увидите приглашение оболочки базы данных.

Приглашение командной строки MySQL:

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Приглашение командной строки MariaDB:

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.0.29-MariaDB-0ubuntu0.16.10.1 Ubuntu 16.10
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

Теперь, когда у вас имеется рут доступ, вы можете изменить пароль рута.

Шаг 4 — Смена пароля рута


Простым способом смены пароля рута для современных версий MySQL является использование запроса ALTER USER. Тем не менее, эта команда не будет работать прямо сейчас, поскольку таблицы привилегий не загружены.
Давайте скажем серверу баз данных перегрузить таблицы привилегий введя команду 
FLUSH PRIVILEGES.

FLUSH PRIVILEGES;

Теперь действительно мы можем поменять пароль рута.
Для MySQL 5.7.6 и новее, а также для MariaDB 10.1.20 и новее используйте следующую команду:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'новый_пароль';

Для MySQL 5.7.5 и старее, а также для MariaDB 10.1.20 и старее используйте:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('новый_пароль');


Не забудьте поменять новый_пароль на выбранный вами новый пароль.

Примечание: если команда ALTER USER не работает, то это обычно является признаком более серьёзной проблемы. Тем не менее, вместо этой вы можете попробовать UPDATE … SET для сброса root пароля.

UPDATE mysql.user SET authentication_string = PASSWORD('новый_пароль') WHERE User = 'root' AND Host = 'localhost';

После этого не забудьте перегрузить таблицы привилегий.
В любом случае вы должны видеть подтверждение, что команда успешно выполнена. Вывод:

Query OK, 0 rows affected (0,29 sec)


Выходим из сессии:

exit;

Пароль изменён, вы можете остановить запущенный вручную экземпляр сервера базы данных и перезапустить его как это было раньше.

Шаг 5 — Обычный перезапуск сервера базы данных


Для начала, остановите экземпляр сервера базы данных, который вы запустили вручную на Шаге 3. Эта команда ищет PID или ID процесса для процесса MySQL или MariaDB и отправляет SIGTERM для сообщения процессу мягко выйти после завершения операций очистки.

Для MySQL и MariaDB используйте:

sudo kill `sudo cat /var/run/mysqld/mysqld.pid`


Затем перезапустите сервис используя systemctl.

sudo systemctl start mysql


Теперь вы можете подтвердить, что новый пароль работает, запустите:

mysql -u root -p


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

VirtualBox. Настройка общих папок в Ubuntu




VirtualBox. Настройка общих папок в Ubuntu

Шаг 1: Создание общей папки на хост-машине

Общие папки, с которыми в дальнейшем могут работать обе машины,
должны располагаться в основной ОС. Они создаются точно таким же
способом, как и обычные папки в вашей Windows или Linux.
Кроме того, в качестве общей папки можно выбирать любую существующую.

Шаг 2: Настройка VirtualBox

Созданные или выбранные папки необходимо сделать доступными для обеих
операционных систем через настройку VirtualBox.

  1. Откроем VB Менеджер, выделим виртуальную машину и нажмем «Настроить».

  1. Перейдем в раздел «Общие папки» и нажмем на иконку с плюсом,
что находится справа.





Откроется окно,  путь к папке. Кликаем по стрелке и из выпадающего меню
выберем «Другой». Укажем расположение.

Поле «Имя папки» заполняется автоматически, путем подстановки оригинального

имени папки, но его можно изменить на другое.
Активируем параметр «Авто-подключение»
Когда настройка будет закончена, выбранная папка появится в таблице.

Можно добавить несколько  папок, и все они будут отображаться здесь

Шаг 3: Установка гостевых дополнений

Перейдем по этой ссылке на страницу загрузок официального сайта VirtualBox.
Нажимаем на ссылку «Все поддерживаемые платформы» и скачиваем файл.

Установка VM VirtualBox Extension Pack в Ubuntu

Запускаем виртуальную машину и на панели меню VirtualBox выбираем
«Устройства» > «Подключить образ диска Дополнений гостевой ОС…».



Откроется диалоговое окно, запрашивающее запуск исполняемого файла
на диске. Нажмите на кнопку «Запустить».
    Запуск исполняемого файла Ubuntu в VirtualBox



Процесс установки будет отображен в «Терминале», который затем можно будет
закрыть.
Созданная общая папка может быть недоступна со следующей ошибкой:
«Не удалось показать содержимое этой папки. Недостаточно прав для просмотра
содержимого объекта sf_Имя_папки».
Поэтому заранее рекомендуется открыть новое окно «Терминала» и прописать
нем следующую команду:
sudo adduser имя_учетной_записи vboxsf
Введите пароль для sudo и дождитесь добавления пользователя в группу vboxsf.
Перезагружаем виртуальную машину.

После запуска системы зайдем в проводник, и в каталоге слева найдем ту папку,
которую расшаривали.

среда, 25 июля 2018 г.

Google Таблицы. Функции. GOOGLETRANSLATE



GOOGLETRANSLATE - позволяет переводить текст прямо в ячейке

Синтаксис функции следующий:
GOOGLETRANSLATE(text,[source_language],[target_language])
text — это текст, который нужно перевести.
[source_language] — язык, с которого мы переводим;
[target_language] —  язык, на который мы переводим.


Второй и третий аргументы задаются двухзначным кодом: ru, en и т.д.
Оба аргумента необязательные — если их не указать, перевод будет осуществляться на английский язык.
Их можно указать в самой функции, но можно брать из ячейки.


Google Таблицы. Функции. DETECTLANGUAGE


DETECTLANGUAGE - позволяет определить язык текста прямо в ячейке

Синтаксис функции следующий:
DETECTLANGUAGE(text)
text — это текст, у которого нужно определить язык.


вторник, 17 июля 2018 г.

Пользовательские функции Excel. Функция убирает из строки числа или текст.

Для извлечения только чисел

=Extract_Number_from_Text(str; 0)
или
=Extract_Number_from_Text(B1)
Для извлечения только текста
=Extract_Number_from_Text(str; 1)

Function Extract_Number_from_Text(sWord As String, Optional Metod As Integer)
' --- Функция убирает из строки числа или текст
'sWord = ссылка на ячейку или непосредственно текст
'Метод = 0 – числа
'Метод = 1 – текст

    Dim sSymbol As String, sInsertWord As String
    Dim i As Integer

    If sWord = "" Then Extract_Number_from_Text = "Нет данных!": Exit Function
    sInsertWord = ""
    sSymbol = ""
    For i = 1 To Len(sWord)
        sSymbol = Mid(sWord, i, 1)
        If Metod = 1 Then
            If Not LCase(sSymbol) Like "*[0-9]*" Then
                If (sSymbol = "," Or sSymbol = "." Or sSymbol = " ") And i > 1 Then
                    If Mid(sWord, i - 1, 1) Like "*[0-9]*" And Mid(sWord, i + 1, 1) Like "*[0-9]*" Then
                        sSymbol = ""
                    End If
                End If
                sInsertWord = sInsertWord & sSymbol
            End If
        Else
            If LCase(sSymbol) Like "*[0-9.,;:-]*" Then
                If LCase(sSymbol) Like "*[.,]*" And i > 1 Then
                    If Not Mid(sWord, i - 1, 1) Like "*[0-9]*" Or Not Mid(sWord, i + 1, 1) Like "*[0-9]*" Then
                        sSymbol = ""
                    End If
                End If
                sInsertWord = sInsertWord & sSymbol
            End If
        End If
    Next i
    Extract_Number_from_Text = sInsertWord
End Function

Данная строка отвечает за текстовые символы, которые могут встречаться внутри чисел и которые надо оставить(не удалять наравне с другими не числовыми символами). Остальные  просто удалится. 

Оставить только числа
Если надо исключить из удаления помимо цифр точку

четверг, 5 июля 2018 г.

Пользовательские Функции. Из даты Месяц прописью.date_to_string()

Пользовательские Функции. Из даты Месяц прописью.date_to_string(Date)

Функция извлекает из даты значение Месяц и переводит его в текстовое значение прописью.

Сначала создаем сценарий как здесь, далее создаем функцию.

function date_to_string(_date) { // --- Массив со значениями месяцев var _arr_months = new Array('январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь','ноябрь','декабрь'); // --- Переменная для хранения Даты переданной функцией var _date = new Date(_date); // --- Переменная для сохранения имени месяца var _string = ''; // --- Проверяем если пустое значение даты, то завершаем и возвращаем false if (!_date || _date == 0) return false; // --- Получаем значение месяца в виде числа и достаем из массива его текстовое значение _string = _arr_months[_date.getMonth()]; // --- Возвращаем найденное значение return _string; }
 
После сохранения сценария можно использовать функцию

 


воскресенье, 3 июня 2018 г.

Ubuntu server 16.04. Установка LAMP



Ubuntu server 16.04. Установка LAMP


  1. Устанавливаю Ubuntu server 16.04 (в моем случае установил на VirtualBox)
  2. Проверяю, что мой сервер полностью в актуальном состоянии с помощью:
sudo apt-get update
sudo apt-get upgrade
Можно одной командой (я не пробовал)
apt-get update && apt-get upgrade
  1. Установка Apache:
apt-get install apache2


4. Включаю Apache в автозагрузку при запуске ОС
systemctl enable apache2
Прохожу аутентификацию (ввожу пароль для пользователя)
5. Проверяю, что Apache запущен. Открываю веб-браузер и перехожу на страницу веб-сервера IP-адрес сервера (http://ip_server). Получаю страницу приветствия Apache:


6. Установка MySQL
sudo apt-get install mysql-server mysql-client


Подтверждаю, скачивание и установку файлов


Указываю новый пароль для пользователя root
Подтверждаю новый пароль для пользователя root
Настройка безопасности MySQL


sudo mysql_secure_installation


данный скрипт запросит пароль суперпользователя который я создал во время установки. Сразу же после этого, вам будет предложено ряд вопросов. Отвечаю «Y» (Да), на все оставшиеся вопросы. (По желанию)


7. Включаю MySQL  в автозагрузку при старте ОС


systemctl enable mysql


8.
8.Проверяю состояние службы MySQL


systemctl status mysql




9. Установка PHP


sudo apt-get install php
Устанавливаю расширение для php
sudo apt-get install php-gd


Подключаю расширение MySQL


sudo apt-get install php-mysql


Устанавливаю модуль для Apache
sudo apt-get install libapache2-mod-php


Перезагружаю сервер Apache


sudo service apache2 reload


Еще один способ перезагрузки сервера Apache2


sudo systemctl restart apache2


Проверяю установку php. Cоздаю файл и делаю запрос проверки версии php.
Для удобства работы с файлами установлю mc (файловый менеджер).
sudo apt-get install mc
Запускаю mc
sudo mc


Создаю новый файл /var/www/html/info.php


В файле ввожу код
<?php
phpinfo ();
?>


Сохраняю файл. В веб-браузере перейти по адресу http://ip_адрес_сервера/info.php


10. Установка PhpMyAdmin


sudo apt-get install phpmyadmin




Отвечаю на вопросы


После завершения проверю работу phpmyadmin. В веб-браузере наберу http://ip_адрес_сервера/phpmyadmin.php


ввожу пользователя root и пароль