Инициализация базы данных MySQL, сброс пароля MySQL на Linux Ubuntu 18.04

В новых версиях MySQL есть свои нюансы по сбросу пароля MySQL. У меня даже при развертывании первичной базы пустой базы не удавалось подключаться. Некоторое время пришлось повозиться, побеждая данную проблему. Дальше, я приведу рецепт, как инициализировать базу данных и сбросить пароль рута в MySQL. 1) Останавливаем текущую службу MySQL:

  2) Создаем каталог /var/run/mysqld который будет использоваться процессом MySQL для хранения и доступа к файлу сокета, а также даем необходимые права:

  3) Запускаем MySQL со следующими параметрами:

  4) Убеждаемся, что процесс запущен:

  5) На этом этапе мы можем получить доступ к MySQL без пароля. Входим командой:

  6) Затем сбрасываем пароль root следующей последовательностью запросов:

  Мы установили пароль “123” для пользователя “root”. 7) Завершаем текущий mysqld процесс:

  [1]+ Завершён sudo /usr/sbin/mysqld –skip-grant-tables –skip-networking 8) Запускаем службу MySQL:

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

  mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement. mysql>   10) Так же, база попросила установить пароль с помощью Alter User:

    Источник: http://ikode.ru/articles/kak-sbrosit-parol-root-mysql-na-ubuntu-1804      

Read more

Проблемы с кодировкой в MySQL 5

Столкнулся с проблемой кодировки при переходе из MySQL 4 в MySQL 5. Это вечная проблема, которая возникает при переходе из одной версии MySQL в другую и связана с поддерживаемыми кодовыми страницами. При переходе из MySQL 3 в MySQL 4 была проблема с кодировками, т.к. в MySQL 3 они не указывались, а в MySQL 4 стали указываться. При переходе же из версии MySQL 4 в MySQL 5 проблема связана с тем, что в 5-й версии уже используется универсальная кодировка utf-8.   В этом же форуме, я хочу подбить определённый результат, как эту проблему решить. 1. Прежде всего, нужно указать по умолчанию русские кодировки. 2. После вызова коннекта в PHP необходимо указать, что кодировка, например, cp1251 Так, например, в phpNuke я указал в файле mainfile.php после коннекта: // Rudjuk 24.06.2007 Change Error Code if ($db){ $db->sql_query(“set names ‘cp1251′”); } После этого должно работать. Кстати, при переносе данных из одного сервера, скажем MySQL 4 на другой с MySQL 5 следует обязательно после коннекта к базе (вначале дампа) указать: Код SET NAMES CP1251 Еще осталась проблема с автоматическим определением кодировки. Почему-то по умолчанию определяется на странице, что кодировка utf-8, хотя указано явно Код < meta http-equiv=”content-type” content=”text/html; charset=windows-1251″ /> В apache2 указывается кодировка по умолчанию в файле /etc/apache2/conf.d/charset, нужно просто вместо UTF-8 указать AddDefaultCharset windows-1251 Что и говорить проблемы с кодировкой – часто встречаемая проблема. Как её решить, прекрасно описано в статье: Решение проблем с кодировкой Какая кодировка настроена в MySQL вы можете узнать с помощью запроса: Код SHOW VARIABLES LIKE ‘character_set_client’; Кроме того, […]

Read more

Восстановление баз данных MySQL

Довольно часто базы данных MySQL “ломаются”. В результате, приходится ремонтировать. Поломки баз данных происходят из-за не корректных выключений компьютера или сбоев в компьютере, когда сервер не может корректно закрыть файл. Следует отметить, что не все базы данных удаётся поремонтировать, поэтому, рекомендуется делать резервные копии rolleyes.gif Есть несколько способов восстановления баз данных. И все они требуют, чтоб никто в это время не обращался к таблице базы данных, иначе предсказать последствия не возможно. Самый простой способ восстановления – выполнить SQL-команду: repair table <название таблицы>; Данная команда восстановит таблицу в большинстве случаев. Иногда, приходится использовать специальную утилиту для восстановления таблиц: myisamchk -r -q <название таблицы> – режим быстрого восстановления файлов. myisamchk -r <название таблицы> – режим восстановления файла. myisamchk -r -f -o <название таблицы> – режим восстановления в защищенном режиме файла. Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Read more

Работа с Interbase (Firebird) в PHP

Если кто-нибудь пытался искать информацию, как работать с базами данных в PHP, то как правило, натыкалася на работу PHP с MySQL. По поводу же работы с Interbase информация достаточно скудная. Более того, как правило, поисковики выкидывают информацию не по работе PHP с Interbase, а по работе Delphi с Interbase :). Прежде всего, необходимо включить поддержку Interbase в PHP. Как это делается, скажем в Linux Ubuntu я писал: http://nerusoft.blogspot.com/2007/12/interbase-firebird-apache-2-php-5-linux.html Теперь рассмотрим основные операторы: // Подключение к базе данных Interbase $conn=ibase_connect($dbname,$dbuser,$dbpass); // Выполнение SQL-запроса и получение информации из него (аналогично, как в MySQL): $stmt = ‘select * from GET_ZAKAZID’; $sth = ibase_query($conn, $stmt); while ($row = ibase_fetch_object($sth)) { $zakazn=$row->DOCN_RETURN; } ibase_free_result($sth); // Освобождаем ресурсы, после получения необходимых данных // Выполнение простой вставки с помощью INSERT $stmt = ‘INSERT INTO ZAKAZ(ZAKAZID, ZAKAZNA, TYPEZAKAZID’ .’,EMAIL, KONT_TELEPHONE, MTELEPHONE, ICQ’ .’) VALUES (‘ .$zakazn.”,’”.trim(strip_tags(@$_POST[‘date_vipoln’])).”‘,”.@$_POST[‘type_cli’] .”,’”.trim(strip_tags(@$_POST[’email’])).”‘,’”.trim(strip_tags(@$_POST[‘telephone’])) .”‘,’”.trim(strip_tags(@$_POST[‘mtelephone’])).”‘,”.trim(strip_tags(@$_POST[‘icq’])) .”)”; $sth = ibase_query($conn, $stmt) or die(ibase_errmsg()); // Закрываем коннект, после работы с базой данных ibase_close($conn); Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Read more

Компиляция UDF-библиотеки rfunc в Linux Ubuntu 8 для Firebird 2

Для того, чтоб скомпилировать библиотеку rfunc для firebird 2, необходимо произвести ряд действий. 1. Установить firebird не из репозитария, а так, как написано было в предыдущем сообщении. 2. В файле rfunc.conf исправить: GDS_NAME = fbclient #GDS_NAME = gds32 3. Исправить в файле makefile.linux: #RFUNCIBUTILLIB = /usr/lib/libib_util.so RFUNCIBUTILLIB = /opt/firebird/lib/libib_util.so 4. Исправить в том же файле: #INCLUDE = -I/usr/include -I”$(IBASE)$(SDKDIR)/include” INCLUDE = -I/usr/include -I/opt/firebird/include 5. Установить: apt-get install uuid-dev 6. Прокомпилить: make -f makefile.linux rfunc 7. Появится файл библиотеки под названием rfunc в том же каталоге, где Вы компилировали. Можете его переименовать в rfunc.so – для соблюдения стандартов в названиях файлов. 8. Полученный файл переписать в /opt/firebird/UDF. После этого, перезагрузите сервер. Библиотека должна работать. Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Read more

Интересный способ сравнения одинаковости баз в двух таблицах на разных серверах

Для сравнения двух таблиц в двух базах данных на разных серверах можно воспользоваться формированием значения по md5. Например: select md5(array_send(array(select B from A order by 1))) as md5; Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Read more