hosting:php:scripts:mysql-engine-convert

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
hosting:php:scripts:mysql-engine-convert [2019/09/06 12:47]
zinenko
hosting:php:scripts:mysql-engine-convert [2020/04/25 09:39] (текущий)
zinenko
Строка 1: Строка 1:
-====== Конвертация хранилища всех таблиц ====== +====== ​2.8.1.3. ​Конвертация хранилища всех таблиц ====== 
-Для конвертации всех таблиц можно ​использовать скрипт,​ который для каждой ​таблицы ​отдельно ​выполняет SQL команду+(<wrap em>​Требования</​wrap>:​ PHP 5+) 
-<note warning>Для больших баз ​данных не стоит использовать такое преобразование</note+ 
-<code php [enable_line_numbers="​true",​highlight_lines_extra="​3,​4"​]>​+Для конвертации всех таблиц можно ​[[hosting:​php:​scripts|запустить]] скрипт,​ который ​выполнит SQL-запрос ​для каждой отдельной таблицы. 
 + 
 +<alert type="​danger"​> 
 +Не рекомендуется использовать ​этот способ для больших баз данных. 
 +</alert> 
 + 
 +<code php [enable_line_numbers="​true",​highlight_lines_extra="​3,​4,5,6,7"]>
 <?php <?php
 $DB = array( $DB = array(
Строка 13: Строка 19:
 $link = mysqli_connect($DB['​host'​],​ $DB['​user'​],​ $DB['​password'​],​ $DB['​database'​]);​ $link = mysqli_connect($DB['​host'​],​ $DB['​user'​],​ $DB['​password'​],​ $DB['​database'​]);​
 $sql = "SHOW TABLES";​ $sql = "SHOW TABLES";​
- $query = mysqli_query($link,​ $sql); +$query = mysqli_query($link,​ $sql); 
- while($row = mysqli_fetch_assoc($query)) +while ($row = mysqli_fetch_assoc($query)) { 
- +    if (mysqli_query($link,​ "ALTER TABLE `"​.$row['​Tables_in_'​.$DB['​database'​]]."​` ENGINE = "​.$DB['​engine'​])) { 
-                        if(mysqli_query($link,​ "ALTER TABLE `"​.$row['​Tables_in_'​.$DB['​database'​]]."​` ENGINE = "​.$DB['​engine'​])) +        echo $row['​Tables_in_'​.$DB['​database'​]]."​ ok<​br>";​ 
-                        ​+    } else { 
-                          echo $row['​Tables_in_'​.$DB['​database'​]]."​ ok<​br>";​ +        echo $row['​Tables_in_'​.$DB['​database'​]]."​ error<​br>";​ 
-                        }else{ +    
-                          echo $row['​Tables_in_'​.$DB['​database'​]]."​ error<​br>";​ +}
-                        +
- } +
-?>+
 </​code>​ </​code>​
-В данных ​нужно указать:​ +В скрипте ​нужно указать ​[[hosting:​mysql:​databases:​credentials|данные для подключения]] к базе данных
-  - <<''​host''​>> -- сервер баз данных. +  - ''​host'' ​— сервер баз данных. 
-  - <<''​user''​>> -- пользователь базы данных. +  - ''​user'' ​— имя ​пользователя базы данных. 
-  - <<''​password''​>> -- пароль пользователя баз данных. +  - ''​password'' ​— пароль пользователя баз данных. 
-  - <<''​database''​>> -- имя базы данных. +  - ''​database'' ​— название базы данных. 
-  - <<''​engine''​>> -- целевой тип хранилища на который будут изменены все таблицы. +  - ''​engine'' ​— целевой тип хранилища на который будут изменены все таблицы. 
-Для указания переменных нужно ​использовать [[hosting:​mysql:​databases:​credentialsанные для подключения]]. + 
-===== Другие статьи =====+Альтернативные способы изменения типа ​хранилища ​описаны [[hosting:​mysql:​storage-engine|здесь]]. 
  
-{{indexmenu>​.#​1|nsort tsort}} 
  • hosting/php/scripts/mysql-engine-convert.1567763232.txt.gz
  • Последние изменения: 2019/09/06 12:47
  • — zinenko