Как сделать резервную копию баз данных MySQL в Ubuntu VPS. Mysql ubuntu создать базу


MySQL: Создать Базу Данных - Командная Строка

Из этой небольшой статьи вы узнаете, как создать базу данных в MySQL из командной строки в Linux.

Я покажу основной синтаксис команды CREATE DATABASE в MySQL для создания простой базы данных с кодировкой по умолчанию.

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

Дельный Совет: У вас есть бэкап? Он ОБЯЗАН у вас быть! Бэкапте базы данных MySQL из командной строки! Это действительно просто! Читать далее →

Подключитесь к MySQL серверу из командной строки под пользователем root:

$ mysql -u root -p

Создать Базу Данных MySQL

Используйте следующий синтаксис для создания базы данных в MySQL:

mysql> CREATE DATABASE имя_базы;

Создайте нового пользователя:

mysql> GRANT ALL PRIVILEGES ON имя_базы.* TO имя_пользователя@localhost IDENTIFIED BY 'пароль_пользователя'; С помощью последней команды мы дали пользователю имя_пользователя все права на только что созданную базу данных имя_базы и установили ему пароль пароль_пользователя.

Указывая localhost после символа @ мы разрешаем пользователю подключаться к базе данных только с самого сервера на котором установлен MySQL.

Если вы хотите разрешать пользователю подключаться к базе данных удаленно, вы можете поменять localhost на IP-адрес или имя хоста.

Дельный Совет: Узнайте, как легко получить список пользователей MySQL, посмотреть их пароли и привилегии из командной строки! Читать далее →

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

$ mysql -u имя_пользователя -p

Чтобы показать все базы данных доступные для текущего пользователя, выполните:

mysql> SHOW DATABASES;

Чтобы открыть новосозданную базу данных в MySQL, выполните:

mysql> USE имя_базы;

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

$ mysql -u имя_пользователя -p -В имя_базы

Чтобы явно указать IP-адрес или имя MySQL сервера, выполните:

$ mysql -u имя_пользователя -p -h имя_хоста

www.shellhacks.com

Создание базы MySQL и назначение привилегий пользователю

MySQL является очень распространенной базой данных, которую применяют в различных проектах (к примеру, проект LAMP - Linux / Apache / MySQL / PHP, который распространен во многих организациях по всему миру).

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

Давайте, на примере создания базы данных testbase, пошагово рассмотрим сам процесс создания базы данных в MySQL.

Для начала, мы должны иметь установленный сервер mysql. Если он у вас еще не установлен, то установим его при помощи менеджера пакетов или, вручную, при помощи команд (в зависимости от дистрибутива):

В Debian/Ubuntu:$ sudo apt-get install mysql-server

В RedHat/Fedora и их производных:$ sudo yum install mysql-server

В Zenwalk:$ sudo netpkg mysql-server

После установки необходимых пакетов, запустим сервер mysql командой (в зависимости от используемого дистрибутива):$ sudo /etc/rc.d/rc.mysqld start или $ sudo /etc/init.d/mysqld start или $ sudo service mysqld start

Затем осуществим подключение к серверу MySQL, используя аккаунт суперпользователя root:$ mysql -u root

Внимание! По умолчанию, при подключении к базе данных под пользователем root с localhost, ввод пароля не обязателен.

Если, при установке сервера mysql вы назначили пользователю какой-либо пароль, то вы можете подключиться к серверу mysql, используя ключ -p : $ mysql -u root -pEnter password:

После успешного подключения, выполним команду создания базы данных:mysql> create database testbase;

Затем создадим пользователя baseuser для подключения к базе данных и назначим ему пароль "userpasswd":mysql> grant usage on *.* to baseuser@localhost identified by ‘userpasswd’;

И, наконец, назначаем все привилегии (права) на базу testbase пользователю baseuser:mysql> grant all privileges on testbase.* to baseuser@localhost;

Символ * (звездочка) означает “все таблицы в базе данных”.

Все, с поставленной задачей мы справились.

Теперь проверим возможность подключения пользователя baseuser к базе данных testbase:$ mysql -u baseuser -p ‘userpasswd’ testbase

www.ithowto.ru

Как создать дамп базы MySQL и восстановить его из консоли в Linux

MySQL в линуксе дает пользователю возможность быстро и без особых хлопот создать бэкап базы данных прямо из консоли. Это бывает очень удобно когда нет возможности или лень производить подобные действия через phpMyAdmin.

Просмотр баз данных

Для начала узнаем какие у нас базы данных вообще лежат на сервере MySQL. Делается это командой mysqlshow:

mysqlshow -u USER -pPASSWORD

Здесь и ниже USER — пользователь в базе, PASSWORD — соответственно пароль. Можно вводить только -p, чтобы не светить пароль в bash_history, он будет запрошен позднее.

Просмотр таблиц конкретной базы данных:

mysqlshow -u USER -pPASSWORD DATABASE

Выгрузка базы

Теперь, когда мы нашли нужную базу данных, мы хотим слить ее с MySQL сервера. Делается это следующим образом:

mysqldump -u USER -pPASSWORD DATABASE > /var/www/backup/dump_database.sql

Просто, не правда ли? Путь до бекапа может быть абсолютно любой. Если нужна не вся база, а только ее определенные таблицы, нужно указать их после названия базы:

mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 TABLE4 > /var/www/backup/dump_tables.sql

Еще круче, при создании именно бэкапов, на лету сжимать базу и ставить тайм-штамп. Нет ничего проще:

mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/var/www/backup/dump_database.sql.%Y%m%d.%H%M%S.gz`

Где %Y — год, %m — месяц, %d — день, %H —  час %M — минута %S — секунда. Комбинируйте их что бы получить желаемое значение. Оно будет вставлено в конец файла.

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

Заливаем базу обратно:

mysql -u USER -pPASSWORD DATABASE < /var/www/backup/dump.sql

Если база была заархивирована, то ее можно направить на ввод команде gunzip:

gunzip < /var/www/backup/dump_database.sql.gz | mysql -u USER -pPASSWORD DATABASE

 

Похожее

hardreboot.ru

Создать пользователя базы данных MySQL

Создать пользователя базы данных MySQL можно из консоли, подключиться требуется с правами root. То же самое можно проделать через веб-интерфейс PHPMYADMIN, но описанный ниже способ универсален.

 

Прежде всего нужно подключиться к консоли

mysql -h localhost -u root -p

 

Пользователь создается следующим образом MySQL:

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

 

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

 

Предоставляем доступ к базам данных

GRANT ALL PRIVILEGES ON * . * TO 'user'@'localhost';

 

* . * здесь означает все таблицы всех баз данных.

ALL PRIVILEGES предполагает права на чтение, редактирование, изменение и удаление и т.п. таблиц и баз.

 

 

Полный список возможных опций:

  • ALL PRIVILEGES — полный доступ к заданной таблице/базе данных или всем таблицам/базам.
  • CREATE — право создавать новые таблицы/базы данных.
  • DROP — право удалять таблицы/базы данных.
  • SELECT — право выполнять чтение из таблиц/баз данных
  • UPDATE — право редактировать строки таблиц
  • DELETE — право удалять строки из таблиц
  • INSERT — право добавлять строки в таблицу
  • GRANT OPTION — право назначать или удалять права доступа для других пользователей

 

Чтобы изменения вступили в силу необходимо выполнить:

FLUSH PRIVILEGES;

 

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

 

 

Права можно также забрать используя REVOKE

 

Например:

REVOKE UPDATE ON *.* FROM ‘user’@‘localhost’;

 

Протестировать доступ от имени созданного пользователя можно выйдя из консоли MySQL

quit

 

и подключившись к ней и реквизитами добавленного пользователя, в примере это user

 

mysql -u user -p

 

Пользователя можно удалить тем же образом, что и базу данных

DROP USER 'user'@'localhost’;

 

 

Обновить пароль пользователя сервера баз данных

UPDATE mysql.user SET Password=PASSWORD('password123') WHERE USER='user' AND Host='localhost';

 

Вывести в консоль всех существующих пользователей и их пароли с привязкой к хосту

SELECT host, user, password FROM mysql.user;

server-gu.ru

Создание базы данных MySQL | Блокнот обычного админа =)

1. Пусть пользователь работает под своей учетной записью, а не как суперпользователь root. Необходимо запустить терминальный сеанс и стать суперпользователем (Для этого выполните команду su и введите пароль суперпользователя root).

2. Запустим сервер MySQL. Вводим: mysql -u root -p Система предлагает ввести пароль пользователя root MySQL, который был задан при установке MySQL в Linux.

(Примечание: Это пароль пользователя root системы MySQL, а не пользователя root системы Linux). Введите пароль, который не изображается на экране по соображениям безопасности.

(Вас приветствует монитор MySQL. Команды заканчиваются символами ; или \g. id соединения с MySQL равен 1 для сервера версии: 5.01.01. Введите 'help', чтобы получить справку).

3. Теперь можно создавать базу данных employees. Выполните команду:

create database employees;

(Примечание: команда заканчивается точкой с запятой)

4. Важно отметить, что эта база данных создается пользователем root и поэтому будет доступна только тем пользователям, которым это разрешит root. Чтобы использовать эту базу данных с другой учетной записью, например, freak, необходимо задать соответствующие полномочия, выполняя следующую команду:

GRANT ALL ON employees.* TO freak@localhost IDENTIFIED BY "pass"

Эта команда предоставляет учетной записи freak@localhost все полномочия на базу данных employees и задает пароль pass. Для любого другого пользователя freak можно заменить на любое другое имя пользователя и выбрать подходящий пароль.

5. Закройте сеанс mysql, вводя в приглашении команду quit. Выйдите из режима суперпользователя и перейдите в свою учетную запись. (Введите exit).

6. Чтобы соединиться с MySQL с помощью обычной учетной записи, введите:

mysql -u имя_пользователя -p

Затем введите после приглашения пароль. (Этот пароль был задан выше командой GRANT ALL...). После успешной регистрации в MySQL система выведет приветственное сообщение.

7. Ввод команды SHOW DATABASES; выведет список всех доступных в системе баз данных.

Введите quit в строке приглашения mysql>, чтобы выйти из программы клиента mysql.

Понравилось это:

Нравится Загрузка...

rusua.org.ua

Как сделать резервную копию баз данных MySQL в Ubuntu VPS

Кругом пустое нет (В. Хлебников).

MySQL является популярным решением для управления базами данных, которая использует SQL язык запросов для доступа и управления данными. Она может быть легко использована для управления данными с веб-сайтами или приложениями.

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

Для этого урока мы будем использовать Ubuntu 12.04 VPS с установленным MySQL. Большинство современных дистрибутивов и последние версии MySQL должны работать аналогичным образом.

Как создать резервную копию базы данных MySQL с mysqldump

Одним из наиболее распространенных способов резервного копирования с MySQL, чтобы использовать команду под названием “mysqldump“.

Резервное копирование

Существует статья о том, как экспортировать базы данных с помощью mysqldump. Основной синтаксис команды:

mysqldump -u username -p database_to_backup > backup_name.sql

Восстановление

Чтобы восстановить дамп базы данных, созданный с помощью mysqldump, вы просто должны снова перенаправить файл в MySQL.

Нам нужно создать пустую базу данных для размещения импортируемых данных. Во-первых, необходимо войти в MySQL, введите команду:

mysql -u username -p

Создать новую базу данных, которая будет содержать все данные из дампа данных, а затем выйти из командной строке MySQL:

CREATE DATABASE database_name; exit

Далее, мы можем перенаправить файл дампа в нашей вновь созданной базе данных, выполнив следующую команду:

mysql -u username -p database_name < backup_name.sql

Теперь Ваша информация должна быть восстановлена ​​в базу данных, которую вы создали.

Как сделать резервную копию таблицы MySQL в текстовый файл

Вы можете сохранить данные из таблицы непосредственно в текстовый файл с помощью оператора выбора в MySQL.

Общий синтаксис для этой операции:

SELECT * INTO OUTFILE 'table_backup_file' FROM name_of_table;

Эта операция будет сохранять данные таблицы в файл на сервере MySQL. Это не сработает, если уже существует файл с именем выбранного.

Примечание: Эта опция сохраняет только данные таблицы. Если ваша структура таблицы сложна и должна быть сохранена, то лучше использовать другой метод!

Как сделать резервную копию MySQL данных с помощью automysqlbackup

Существует программа-утилита под названием “automysqlbackup“, которая доступна в репозитории Ubuntu.

Эта утилита может быть запущена автоматически и выполнять резервное копирование через регулярные промежутки времени.

Чтобы установить эту программу, введите следующую команду в терминале:

sudo apt-get install automysqlbackup

Выполните команду, набрав:

sudo automysqlbackup

Основной конфигурационный файл для automysqlbackup находится в “/etc/default/automysqlbackup“. Откройте его с правами администратора:

sudo nano /etc/default/automysqlbackup

Вы можете видеть, что этот файл, по умолчанию, присваивает много переменных в файле MySQL, расположенного по адресу “/etc/mysql/debian.cnf“. Этот документ содержит информацию для входа в обслуживание

Из этого файла, он считывает пользователя, пароль и базы данных, которые должны быть скопированы.

Расположение по умолчанию для резервных копий “/var/lib/automysqlbackup“. Чтобы увидеть структуру резервных копий:

ls /var/lib/automysqlbackup daily monthly weekly

Если мы посмотрим в ежедневный каталог, мы можем увидеть подкаталог для каждой базы данных, внутри которого находится сжатый SQL дамп с момента, когда команда была запущена:

ls -R /var/lib/automysqlbackup/daily .: database_name information_schema performance_schema ./database_name: database_name_2017-01-03_03h00m.Tuesday.sql.gz ./information_schema: information_schema_2017-01-03_03h00m.Tuesday.sql.gz ./performance_schema: performance_schema_2017-01-03_03h00m.Tuesday.sql.gz

Ubuntu устанавливает cron сценарий с помощью этой программы, которая будет работать каждый день. Он будет организовывать файлы в соответствующий каталог.

Как сделать резервную копию при использовании репликации

Можно использовать репликацию MySQL для резервного копирования данных с вышеуказанными методами.

Репликация представляет собой процесс зеркального отображения данных с одного сервера на другой сервер (ведущий-ведомый) или зеркальное отображение изменений, внесенных c сервера на другой (мастер-мастер).

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

Чтобы избежать этой проблемы, мы можем либо:

  • Отключить репликацию временно
  • Сделайте резервную машину для чтения только временно

Временное отключение репликации

Вы можете отключить временно репликацию для ведомого устройства:

mysqladmin -u user_name -p stop-slave

Другой вариант, который не полностью остановит репликацию, но ставит его на паузу, так сказать, может быть достигнуто путем ввода:

mysql -u user_name -p -e 'STOP SLAVE SQL_THREAD;'

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

После завершения всех процедур, перезапустите репликацию, набрав:

mysqladmin -u user_name -p start-slave

Сделать резервную машину временно только для чтения

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

Вы можете выполнить следующие действия для ведущих или ведомых систем.

Во-первых, необходимо войти в MySQL с достаточными правами для управления данными:

mysql -u root -p

Далее, мы можем написать все кэшированные изменения на диск и установить систему только для чтения, набрав:

FLUSH TABLES WITH READ LOCK; SET GLOBAL read_only = ON;

Теперь выполнить вашу резервную копию с помощью mysqldump.

После завершения резервного копирования, вернуть систему в исходное рабочее состояние путем ввода:

SET GLOBAL read_only = OFF; UNLOCK TABLES;

Замечание о методах, которые уже не являются рекомендованными

Mysqlhotcopy

MySQL включает в себя Perl скрипт для быстрого резервного копирования баз данных называемый “Mysqlhotcopy“. Этот инструмент может быть использован для быстрого резервного копирования базы данных на локальном компьютере, но он имеет свои ограничения, которые заставляют нас избегать рекомендовать его.

Самая важная причина, мы не будем рассматривать использование Mysqlhotcopy здесь потому, что он работает только для данных, сохраненных с помощью двигателей хранения “MyISAM” и “Archive”.

Большинство пользователей не меняют двигатель для хранения своих баз данных и, начиная с MySQL 5.5, двигатель хранения по умолчанию является “InnoDB”. Этот тип базы данных не могут быть сохранен с помощью Mysqlhotcopy.

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

Копирование файлов таблиц

Другой метод, иногда предлагается просто скопировать файлы таблиц, в которых MySQL хранит свои данные.

Этот подход страдает из-за одного из тех же причин, как “Mysqlhotcopy”.

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

Вывод

Есть много различных методов выполнения резервного копирования в MySQL. Все они имеют свои преимущества и недостатки, но некоторые из них гораздо проще реализовать и в более широком смысле полезнее, чем другие.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 237

Если статья понравилась, то поделитесь ей в социальных сетях:

andreyex.ru

MySQL как создать базу данных и пользователя

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

Создаем новую базу MySQL и пользователя

Новую базу данных и нового пользователя mysql с полными правами на только что созданную базу:mysql -u <login> -P <password>CREATE DATABASE <DB_NAME>;GRANT ALL PRIVILEGES ON <DB_NAME>.* TO 'my_user'@'localhost' IDENTIFIED BY 'my_password' WITH GRANT OPTION;

Не забываем завершать команды mysql точкой с запятой. Обычно имя администратора root.При этом доступ к базе для данного пользователя возможен только с localhost. Если вы хотите дать ему доступ к базе с любого хоста, используете % вместо localhost:GRANT ALL PRIVILEGES ON <DB_NAME>.* TO 'my_user'@'%' IDENTIFIED BY 'my_password' WITH GRANT OPTION;

Просмотр списка баз, удаление базы.

Эта команда предназначена для просмотра доступных баз данных и таблиц в конкретных базах данных. Для просмотра списка баз данных необходимо ввести такую команду:SHOW DATABASES;

удаление базы данных MySQLDROP DATABASE  <base>;

Команда USE служит для выбора этой активной базыUSE <base>;

Для просмотра списка таблиц используется эта же команда в таком виде:SHOW TABLES;

Просмотр данныхSELECT * FROM <base>;

Как создать дамп базы данных MySQL и восстановить базу из дампа.

Дамп базы сохраняется утилитой коммандной строки mysqldump:

mysqldump --quick -u<логин> -p -h<хост> -P<порт> <база> > database.sql

Дамп всех баз данных одновременно (с блокировкой таблиц на время дампа):

mysqldump -h<хост> -uroot -P<порт> -p<пароль> --all-databases --quick --lock-tables --extended-insert > backupalldb.sql

Восстановление базы из дампа происходит с использованием утилиты mysql:

mysql -u<логин> -p -h<хост> -P<порт> -D <base> < database.sql

или так

mysql <base> -u <логин> -p <пароль> < dump.sql

либо так

mysql -u <логин> -p <пароль>use <base>;\. /<path>/dump.sql

 

www.vidicom.info