- # before doing anything
- # centos
- # centos and mysql 5.6
- # connect to your mysql database from a remote connection
- # converting from mysql 5.5 to mariadb 5.5
- # debian/freebsd
- # debian: downgrading from mysql 5.6 to 5.5
- # forcing mysql_upgrade after a version change
- # global limits
- # how to optimize mysql
- # how to repair mysql tables
- # how to upgrade mysql / mariadb with custombuild 2.0
- # i have many mysql-bin files which are using up a lot of space
- # local-infile=0 in your /etc/my.cnf
- # mysql 5.5 > mariadb 5.5 > mariadb 10.0 > mariadb 10.1 > mariadb 10.2 > mariadb 10.3
- # new method
- # setting up da to use a remote mysql server
- # wait for the backup to complete, then rename it to a unique folder so it’s not overwritten:
- # where is my my.cnf?
- Centos
- Enterprise database pricing for mariadb | mariadb
- Open source database (rdbms) for the enterprise | mariadb
- Ubuntu
- Выбор типа сервера при создании новой базы данных
- Изменение баз данных в mysql и mariadb
- Изменение существующего сервера базы данных
- Настраиваем брандмауэр.
- Настройка
- Настройка защищенного (secure) ftp.
- Переходим к настройке сервера.
- Правка конфигурационного файла joomla
- Правка конфигурационного файла opencart
- Правка конфигурационного файла wordpress
- Проверка подключения к субд
- Проверка состояния сервера
- Просмотр баз данных mysql и mariadb
- Создадим самоподписанный сертификат.
- Создание базы данных в mysql и mariadb
- Удаление баз данных mysql и mariadb
- Установим веб-сервер iis
- Итоги
# before doing anything
We recommend you make full DA backups for easy restore, and CustomBuild mysql backups, just in case.
# centos
There is a default my.cnf that comes with MySQL (4 5) that will make MySQL run a bit quicker if you have 2 gig of ram
There is also my-huge.cnf, or my-medium.cnf depending on your hardware setup. Check the contents of these my*.cnf files for the one that’s right for you.
NOTE 1 the log-bin option is enabled by default. This will quickly use a lot of disk space. It’s recommended to comment out the log-bin line from your /etc/my.cnf, if it exists.
NOTE 2 Take note of your old /etc/my.cnf file. If you have innodb_file_per_table=1, make sure the new my.cnf you install also has this setting. Similarly, if your old one does not have innodb_file_per_table=1 enabled, then your new my.cnf should also not have it enabled.
Be sure to make full backups of your .sql files before doing any changes to your my.cnf.
# centos and mysql 5.6
New MySQL installs might not have any included my-*.cnf files.
We’ve added a few from MySQL 5.5 which seem to work with 5.6, e.g.,
Restart mysqld:
Redhat:
FreeBSD:
# connect to your mysql database from a remote connection
If you have a MySQL database with your hosting account and need to connect to it from your home computer, or another web server, you’ll need to add a remote «Access Host» to your database to allow the connection in.
Go to:
# converting from mysql 5.5 to mariadb 5.5
If you’re running MySQL 5.5 and wish to convert to MariaDB 5.5 (which then allows a higher MariaDB later on), then you can do the following:
# debian/freebsd
We don’t currently have optimized my.cnf files for these OSs. The /etc/my.cnf will rely on the internal defaults in the mysqld binaries.
# debian: downgrading from mysql 5.6 to 5.5
MySQL will have more luck in upgrading to newer versions rather than downgrading, as older versions don’t always support the newer file formats. As such, tasks such as downgrading from 5.6 to 5.5 can be a tricky task.
# forcing mysql_upgrade after a version change
When MySQL/MariaDB is updated in CustomBuild, it should automatically call the mysql_upgrade command. Sometimes, you might be working with things manually, or just want try force another upgrade call.
To do this, run:
where the —force option is optional, but sometimes needed if the script thinks it’s already up to date, but you’re not convinced it is.
Note, on Debian/FreeBSD systems, the binary is at:
# global limits
Simply edit the /etc/my.cnf with the desired limits and restart MySQL.
# how to optimize mysql
IMPORTANT
Always make full backups of all of your databases before making any changes to your my.cnf.
Avoid changes to your InnoDB settings unless you are very familiar with making those changes. Many of the InnoDB settings must remain the same else data corruption will occur with your InnoDB tables. We do not recommend making any changes to your InnoDB settings, unless you do so before creating your databases.
Optimizing MySQL is not that easy, it may require more tryouts from you and adjustments based on queries type, amount of memory on a server etc. etc.
# how to repair mysql tables
If your system has crashed or MySQL tables have been corrupted somehow, there are few methods you can use to try and restore your database tables.
Note: MariaDB since version 5.1 uses myisam_recover_options that does auto-repair of crashed databases.
For FreeBSD or Debian, please replace all instances of /var/lib, with /home.
E.g., /var/lib/mysql becomes /home/mysql .
# how to upgrade mysql / mariadb with custombuild 2.0
To upgrade mysql using the CustomBuild script, adjust the following commands to the desired database type and version:
Where MySQL can be 5.1, 5.5, 5.6, 5.7 or 8.0 .
Where MariaDB can be 5.5, 10.0, 10.1, 10.2, 10.3, or 10.4 .
Drop-in replacement and upgrade path is following:
MySQL version | MariaDB version |
---|---|
5.5 | 5.5 |
5.6 | 10.0 |
5.7 | 10.2 |
8.0 | None |
Upgrading MariaDB package should be done per versions so mysql_upgrade can perform necessary tasks, example upgrade path from MySQL 5.5 to MariaDB 10.3 :
# i have many mysql-bin files which are using up a lot of space
If your MySQL data directory has many files such as:
that means that the [mysqld] option:
is enabled in your /etc/my.cnf.
The solution to prevent those files from being created is to comment out the log-bin option from the my.cnf by adding at # character at the start of the line (left side).
The internal default is «OFF», hence removing it will disable it.
You can delete your mysql-bin.0* files after mysqld has been restarted.
# local-infile=0 in your /etc/my.cnf
For security reasons, it’s often a good idea to have:
present in your system my.cnf file.
# mysql 5.5 > mariadb 5.5 > mariadb 10.0 > mariadb 10.1 > mariadb 10.2 > mariadb 10.3
If you have mysql_backup=yes set set in options.conf file then a full raw sql backup will be run prior to the upgrade. It goes without saying, always make backups, either with this tool or via other means. It makes sense to perform backup just once, next disable it during the upgrade by multiple hops.
# new method
CustomBuild 2.0 rev 2914 has the ability to very easily start with a fresh MySQL/MariaDB install of any version.
# setting up da to use a remote mysql server
If you host a large database that can’t be split up, and your server doesn’t have the resources to handle it, you can set up MySQL to be run on an external server.
# wait for the backup to complete, then rename it to a unique folder so it’s not overwritten:
- Make a copy of the /var/lib/mysql folder (/home/mysql on Debian/FreeBSD). We’ll stop mysqld first, to avoid corruption during the copy.
The actual swap of RPMs must partially be done manually. Remove the MySQL RPMs:
The current state, we have data for 5.5 and no binaries/libraries installed. Install MariaDB:
Recompile anything that uses MySQL/MariaDB, mainly just PHP:
Enable backups for future updates, and enable mysqld monitoring again:
Check over everything to ensure it’s running correctly. If not, going back to MySQL 5.5 would use roughly the same procedure.
Now that you’re in the MariaDB family, you can upgrade to 10.0 or 10.1 from 5.5. I do not recommend going directly from MySQL 5.5 to MariaDB 10.x, even though it might work.
Rules for versions
Please see the MariaDB Documentation on upgrading from MySQL to MariaDBopen in new window to ensure the value you’re converting to is supported, based on your current version’s data.
# where is my my.cnf?
Your my.cnf for the system will be at:
/etc/my.cnf
Which usually does include a files from /etc/my.cnf.d/ directory.
Centos
Обновляем компоненты системы, а заодно и данные о репозиториях
sudo yum update
Enterprise database pricing for mariadb | mariadb
MariaDB Enterprise subscription customers have access to a range of optional expert services. From training your team, migration from legacy databases, real-time analytics challenges to architecting global, mission critical deployments you can throw pretty much anything at us – 😀 happy to catch the ball for you.
Open source database (rdbms) for the enterprise | mariadb
MariaDB takes a fundamentally different database approach to fit today’s modern world. Our pluggable, purpose-built storage engines support workloads that previously required a variety of specialized databases. Organizations can now depend on a single complete database for all their needs, whether on commodity hardware or their cloud of choice. Deployed in minutes for transactional, analytical or hybrid use cases, MariaDB delivers unmatched operational agility without sacrificing key enterprise features, including real ACID compliance and full SQL.
Experience the same benefits as customers like Deutsche Bank, DBS Bank, Nasdaq, Red Hat, ServiceNow, Verizon and Walgreens – industry leaders who trust MariaDB to deliver unmatched operational agility, provide enterprise reliability and drive collaborative innovation. Real business relies on MariaDB.
Explore MariaDB Products
Ubuntu
Перед установкой обновляем данные о репозиториях и индексах пакетов:
sudo apt-get update
Выбор типа сервера при создании новой базы данных
Создание новой базы данных рассмотрено в отдельной инструкции, поэтому подробно рассматривать этот процесс здесь не будем.
При создании базы данных в панели управления хостингом ISPmanager, можно изменить тип её сервера в меню настройки «Новая база данных». Для этого нужно выбрать один из возможных вариантов типа системы управления БД во вкладке «Сервер базы данных».
Для установки MySQL 5.5.60 — «MySQL».
Для установки MariaDB 10.3 — «mariadb-10.3».
При создании нового сайта в параметрах сервера базы данных нужно указать значение, соответствующее созданной ранее БД:
- Для MySQL 5.5.60 – «localhost».
- Для MariaDB 10.3 – «127.0.0.1:3310».
Изменение баз данных в mysql и mariadb
Любая операция, выполняемая без явного указания базы данных, будет выполнена на текущую БД.
Чтобы узнать, какая база данных является текущей, наберите:
SELECT database(); ———— | database() | ———— | NULL | ———— 1 row in set (0.01 sec)
Результат NULL сообщает, что на данный момент текущая база данных не выбрана.
Чтобы выбрать БД для последующих операций, используйте следующую команду:
USE new_database;Database changed
Снова используйте запущенную ранее команду, чтобы узнать, какая БД является текущей:
SELECT database(); ————— | database() | ————— | new_database | ————— 1 row in set (0.00 sec)
Изменение существующего сервера базы данных
Рассмотрим процесс смены системы управления БД на примере перехода от MySQL 5.5.60 к MariaDB 10.3.
Настраиваем брандмауэр.
1. В окне Администрирование открываем Брандмауэр Windows в режиме повышенной безопасности.
2. В открывшемся окне, в левой части, выбираем Правила для входящих подключений. В правой части кликаем по Создать правило…
3. В новом окне выбираем Предопределенные. Из выпадающего списка выбираем FTP-сервер. Кликаем Далее.
4. Отмечаем галочками все пункты, кликаем Далее.
5. Следующим шагом выбираем Разрешить подключение, кликаем Готово.
Выбранные правила будут добавлены в общий список правил входящих подключений. Для применения настроек брандмауэра следует перезагрузить сервер.
Подключиться к серверу можно любым FTP-клиентом указав IP-адрес сервера, имя пользователя и пароль, например FileZilla. Однако, доступность сервера можно проверить и с помощью Internet Explorer. В строке адреса указываем ftp://IP.адрес.нашего.сервера/ (либо доменное имя). Указываем имя пользователя и пароль.
Настройка
Большинство программ устанавливаются с параметрами по умолчанию. Независимо от дистрибутива рекомендуется выполнить оптимизацию параметров безопасности.
sudo mysql_secure_installation
Да, именно “mysql”, потому что проект MariaDB “вытек” из MySQL.
В самом начале программа запросит пароль для пользователя root. Если пароль не был установлен, то нажимаем Enter. На большинство вопросов можно ответить “y”. Вопросы и перевод к ним приведены ниже:
Настройка защищенного (secure) ftp.
Для защиты трафика рекомендуется использовать SSL-сертификаты. Можно использовать самоподписанные сертификаты либо выданные центром сертификации. Обратите внимание, что при подключении к серверу с самоподписанным сертификатом пользователь будет уведомлен об этом.
Переходим к настройке сервера.
1. Открываем Администрирование. Можно из меню Пуск, но если там отсутствует этот пункт, то Пуск -> Панель управления -> Система и безопасность — > Администрирование
2. Запускаем Диспетчер служб IIS
3. В открывшемся окне, в левой части, разворачиваем ветку под необходимым сервером. Кликаем правой кнопкой мыши по элементу Сайты и выбираем пункт Добавить FTP-сайт…
4. В новом окне Добавить FTP-сайт указываем имя и путь до каталога где будут расположены файлы. Кликаем Далее.
5. В обновленном окне указываем на каких IP-адресах будет запущен FTP-сервер (актуально, когда у сервера несколько сетевых интерфейсов либо алиасов), а также указываем порт, который будет прослушивать служба (по умолчанию 21 TCP-порт). Проверяем наличие галочки Запускать сайт FTP автоматически. В настройках SSL указываем Без SSL. Если требуется шифрование, тогда выбираем соответствующий пункт и указываем сертификат. Кликаем Далее.
6. Следующим этапом настраиваем аутентификацию. В разделе Проверка подлинности выбираем Обычный (если требуется анонимное предоставление доступа следует выбрать Анонимный). В разделе Авторизация можно гибко указать доступ для пользователей. В нашем примере разрешим доступ Всем пользователям, кроме анонимных. Разрешаем чтение и запись. Кликаем Готово.
7. В случае успешности, в окне Диспетчера служб IIS добавится строка с именем добавленного FTP-сервера (сайта). Сворачиваем или закрываем это окно. Оно нам более не понадобится.
Правка конфигурационного файла joomla
Выбрать в списке на вкладке «Каталог» файл «configuration.php» и нажать «Изменить» в верхнем меню.
Ввести в файл данные, соответствующие новой базе данных:
Правка конфигурационного файла opencart
Выбрать в списке на вкладке «Каталог» файл «config.php» и нажать «Изменить» в верхнем меню.
Ввести в файл данные, соответствующие новой базе данных:
Правка конфигурационного файла wordpress
Выбрать в списке на вкладке «Каталог» файл «wp-config.php» и нажать «Изменить» в верхнем меню.
Ввести в файл данные, соответствующие новой базе данных:
Проверка подключения к субд
Подключение к СУБД происходит следующей командой:
mysql -u <ИМЯ_ПОЛЬЗОВАТЕЛЯ> -p
Если это первое подключение и другие пользователи не были добавлены, следует подключаться от пользователя root:
mysql -u root -p
Затем следует ввести пароль пользователя root, если пароль не был задан, то нажать Enter.
Выход из оболочки по команде:
exit
Проверка состояния сервера
Иногда может потребоваться проверка состояния работы сервера. Данная операция может быть выполнена командой:
sudo service mysql status
Просмотр баз данных mysql и mariadb
Чтобы получить список существующих баз данных, используйте команду:
SHOW DATABASES; ——————— | Database | ——————— | information_schema || mysql || new_database || other_database || performance_schema | ——————— 5 rows in set (0.00 sec)
Базы данных information_schema, performance_schema и mysql в большинстве случаев создаются по умолчанию, без крайней необходимости (и умения с ними работать) их лучше не трогать.
Создадим самоподписанный сертификат.
1. Запускаем Диспетчер служб IIS (см. выше Настройку сервера).
2. В открывшемся окне, в левой части, разворачиваем ветку под необходимым сервером. Выбираем Сертификаты сервера.
3. В новом окне, в правой части, выбираем Создать самозаверенный сертификат.
4. В открывшемся окне указываем имя сертификата и его тип — Личный. Кликаем Ок.
Сертификат создан. Теперь перейдем к настройке защищенного FTP.
1. В окне Диспетчер служб IIS, в левой части, разворачиваем ветку под необходимым сервером, выбираем созданный сервер. В основной части окна выбираем Параметры SSL FTP.
2. В обновленном окне, в выпадающем списке, выбираем созданный сертификат, либо выданный центром сертификации, если такой имеется. Выбираем Требовать SSL-соединения. В правой части окна выбираем Применить. Закрываем окно, если необходимо.
Для подключения к защищенному FTP-серверу рекомендуем использовать программу WinSCP.
Файловый протокол — FTP
Шифрование — Явное шифрование TLS/SSL (TLS/SSL Explicit encryption)
Имя узла — IP-адрес или доменное имя.
Порт — 21, либо который был указан.
Имя и пароль пользователя системы.
Кликаем Войти (Login)
Создание базы данных в mysql и mariadb
Войдите в MySQL или MariaDB при помощи следующей команды:
mysql -u root -p
Введите пароль администратора, установленный во время инсталляции MySQL/MariaDB.
Теперь можно создать базу данных, введя команду:
CREATE DATABASE new_database;Query OK, 1 row affected (0.00 sec)
Чтобы избежать ошибок, возникающих в случае, если БД с таким именем уже существует, используйте команду:
CREATE DATABASE IF NOT EXISTS new_database;Query OK, 1 row affected, 1 warning (0.01 sec)
Warning означает, что база данных с таким именем уже существует и новая БД не была создана.
Если же опция IF NOT EXISTS не была использована, а БД с таким именем уже существует, появится следующее уведомление об ошибке:
ERROR 1007 (HY000): Can’t create database ‘other_database’; database exists
Удаление баз данных mysql и mariadb
Чтобы удалить базу данных в MySQL/MariaDB, используйте команду:
DROP DATABASE new_database;Query OK, 0 rows affected (0.00 sec)
Примечание: данную операцию невозможно отменить! Убедитесь, что базу данных действительно нужно удалить, прежде чем нажать enter!
Если выполнить эту команду на БД, которой не существует, появится следующая ошибка:
DROP DATABASE new_database;ERROR 1008 (HY000): Can’t drop database ‘new_database’; database doesn’t exist
Чтобы предотвратить эту ошибку и добиться выполнения команды вне зависимости от того, существует БД или нет, используйте опцию IF EXISTS:
DROP DATABASE IF EXISTS new_database;Query OK, 0 rows affected, 1 warning (0.00 sec)
В данном случае warning значит, что такой базы данных не существует, но команда выполнена.
Установим веб-сервер iis
1. Запускаем Диспетчер серверов из меню Пуск или кликом по значку на панели задач.
2. Выбираем пункт Добавить роли и компоненты.
3. В новом окне выбираем, слева, Тип установки, затем Установка ролей или компонентов, кликаем по кнопке Далее.
4. Из предложенного пула серверов выбираем необходимый. В нашем случае он один, кликаем Далее.
5. В списке ролей находим Веб-сервер (IIS) и ставим галочку напротив этого пункта.
6. В новом окне Мастер добавления ролей и компонентов просто кликаем по Добавить компоненты. Данное окно обычно появляется при первой установке Веб-сервера (IIS). Кликаем Далее.
7. Слева кликаем по Служба ролей (подпункт Роль Веб-сервера (IIS)). Ставим галку напротив FTP-сервер. При необходимости устанавливаем галку напротив Расширяемость FTP. Кликаем Далее.
8. Проверяем компоненты для установки. При первой установке, рекомендуем установить галку в поле Автоматический перезапуск конечного сервера, если потребуется. Кликаем Установить. Важно! При первой установке Веб-сервера (IIS) будут установлены дополнительные компоненты службы.
9. Ожидаем завершения процесса установки. По окончании кликаем Закрыть.
Итоги
Итак, данное руководство ознакомило с базовыми навыками, необходимыми для управления базами данных MySQL или MariaDB. Конечно, есть еще огромное множество функций, которые нужно научиться использовать.
Tags: