- Создание базы данных в Linux
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как создавать и выбирать базы данных MySQL в Linux
- Подготовка
- Создание базы данных MySQL
- Просмотреть все базы данных MySQL
- Выбрать базу данных MySQL
- Создание базы данных MySQL с помощью mysqladmin
- Создание базы данных и таблиц
- Создание и открытие базы данных
- Создание и удаление таблицы
- Первичный ключи и автоинкремент
- NOT NULL и DEFAULT
- Внешний ключ
- Работа с MySQL базами данных в консоли Linux
- Подключение
- Создание
- Просмотр
- Операции
Создание базы данных в Linux
1. Пусть пользователь работает под своей учетной записью, а не как суперпользователь root. Необходимо запустить терминальный сеанс и стать суперпользователем (Для этого выполните команду su и введите пароль суперпользователя root ).
2. Запустим сервер MySQL. Вводим:
Система предлагает ввести пароль пользователя root MySQL, который был задан при установке MySQL в Linux. (Примечание: Это пароль пользователя root системы MySQL, а не пользователя root системы Linux). Введите пароль, который не изображается на экране по соображениям безопасности.
После успешной регистрации, система выводит приветствие и приглашение mysql, как показано на рис. 3.3.
(Вас приветствует монитор MySQL. Команды заканчиваются символами ; или \g. id соединения с MySQL равен 1 для сервера версии: 5.01.01. Введите ‘help’, чтобы получить справку).
3. Теперь можно создавать базу данных employees. Выполните команду:
(Примечание: команда заканчивается точкой с запятой)
4. Важно отметить, что эта база данных создается пользователем root и поэтому будет доступна только тем пользователям, которым это разрешит root. Чтобы использовать эту базу данных с другой учетной записью, например, freak, необходимо задать соответствующие полномочия, выполняя следующую команду:
Эта команда предоставляет учетной записи freak@localhost все полномочия на базу данных employees и задает пароль pass. Для любого другого пользователя freak можно заменить на любое другое имя пользователя и выбрать подходящий пароль.
5. Закройте сеанс mysql, вводя в приглашении команду quit. Выйдите из режима суперпользователя и перейдите в свою учетную запись. (Введите exit ).
6. Чтобы соединиться с MySQL с помощью обычной учетной записи, введите:
Затем введите после приглашения пароль. (Этот пароль был задан выше командой GRANT ALL. ). После успешной регистрации в MySQL система выведет приветственное сообщение. Сеанс пользователя должен выглядеть как показано на рис. 3.4.
7. Ввод команды SHOW DATABASES; выведет список всех доступных в системе баз данных.
На экране должно появиться окно, аналогичное рис. 3.4.
Введите quit в строке приглашения mysql>, чтобы выйти из программы клиента mysql.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как создавать и выбирать базы данных MySQL в Linux
All your base are belong to us
3 минуты чтения
MySQL — одна из самых популярных систеа управления реляционными базами данных с открытым исходным кодом. В этом руководстве объясняется, как создавать базы данных MySQL или MariaDB с помощью командной строки Linux.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Подготовка
У вас в системе должен быть установлен сервер MySQL или MariaDB.
Все команды выполняются от имени администратора (минимальная привилегия, необходимая для создания новой базы данных — CREATE ) или с учетной записью root.
Чтобы получить доступ к оболочке MySQL, используйте команду:
После чего чего появится запрос где нужно ввести пароль пользователя root MySQL. Если вы не установили пароль для своего рутового пользователя MySQL, вы можете пропустить опцию -p .
Создание базы данных MySQL
Создать новую базу данных MySQL так же просто, как запустить одну команду.
Чтобы создать новую базу данных MySQL или MariaDB, введите следующую команду, где database_name — это имя базы данных, которую вы хотите создать:
Мы должны получить следующий вывод:
Если вы попытаетесь создать базу данных, которая уже существует, вы увидите следующее сообщение об ошибке:
Чтобы избежать ошибок, если база данных с тем же именем, которое вы пытаетесь создать, существует, используйте оператор IF NOT EXISTS :
Получим следующий вывод:
В приведенном выше выводе Query OK означает, что запрос был успешным, а 1 предупреждение говорит нам, что база данных уже существует, и новая база данных не была создана. Учитывайте что в Linux базы данных MySQL и имена таблиц чувствительны к регистру.
Просмотреть все базы данных MySQL
Чтобы просмотреть созданную вами базу данных из оболочки MySQL, выполните следующую команду:
Команда выше выведет список всех баз данных на сервере. Вывод должен быть похож на это:
Выбрать базу данных MySQL
При создании базы данных, новая база данных не выбирается для использования.
Чтобы выбрать базу данных перед началом сеанса MySQL, используйте следующую команду:
Получим такой вывод:
После выбора базы данных все последующие операции, такие как создание таблиц, выполняются с выбранной базой данных.
Каждый раз, когда вы хотите работать с базой данных, вы должны выбрать ее с помощью оператора USE .
Вы также можете выбрать базу данных при подключении к серверу MySQL, добавив имя базы данных в конце команды:
Создание базы данных MySQL с помощью mysqladmin
Вы также можете использовать утилиту mysqladmin для создания новой базы данных MySQL из терминала Linux.
Например, чтобы создать базу данных с именем database_name , вы должны использовать следующую команду:
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Источник
Создание базы данных и таблиц
Создание и открытие базы данных
С помощью sqlite3 создать или открыть существующую базу данных можно двумя способами. Во-первых, при вызове утилиты sqlite3 в качестве аргумента можно указать имя базы данных. Если БД существует, она будет открыта. Если ее нет, она будет создана и открыта.
Во вторых, работая в самой программе, можно выполнить команду
Выяснить, какая база данных является текущей, можно с помощью команды .databases утилиты sqlite3. Если вы работаете с одной БД, а потом открываете другую, то текущей становится вторая БД.
Создание и удаление таблицы
Таблицы базы данных создаются с помощью директивы CREATE TABLE языка SQL. После CREATE TABLE идет имя таблицы, после которого в скобках перечисляются имена столбцов и их тип:
Имена как таблицы, так и столбцов принято писать строчными буквами. Если имя включает два слова, обычно их соединяют с помощью нижнего подчеркивания. Команды можно писать в одну строку, а не так, как показано выше.
Чтобы увидеть список таблиц базы данных используется команда .tables .
Для удаления целой таблицы из базы данных используется директива DROP TABLE, после которой идет имя удаляемой таблицы.
Первичный ключи и автоинкремент
Для реляционных баз данных важно, чтобы каждую запись-строку таблицы можно было однозначно идентифицировать. То есть в таблицах не должно быть полностью совпадающих строк. Записи должны отличаться хотя бы по одному полю.
С этой целью принято создавать дополнительное поле, которое часто называют ID или подобно. В базах данных под Android по соглашению столбец для уникального идентификатора записей называют _id.
При таком создании таблицы следить за уникальностью поля _id каждой записи должен будет человек. Для SQLite столбец _id ничем не отличается от любого другого. Мы вполне можем сделать несколько записей с одинаковым ID.
Чтобы исключить возможность ввода одинаковых идентификаторов, столбец ID назначают первичным ключом. PRIMARY KEY – ограничитель, который заставляет СУБД проверять уникальность значения данного поля у каждой добавляемой записи.
Если нам не важно, какие конкретно идентификаторы будут записываться в поле _id, а важна только уникальность поля, следует назначить полю еще один ограничитель – автоинкремент – AUTOINCREMENT.
В этом случае SQLite будет сам записывать в поле уникальное целочисленное значение по нарастающей от записи к записи. Поскольку это поле заполняется автоматически, то при добавлении записи в таблицу его игнорируют.
NOT NULL и DEFAULT
Ограничитель NOT NULL используют, чтобы запретить оставление поля пустым. По умолчанию, если поле не является первичным ключом, в него можно не помещать данные. В этом случае полю будет присвоено значение NULL. В случае NOT NULL вы не сможете добавить запись, не указав значения соответствующего поля.
Однако, добавив ограничитель DEFAULT, вы сможете не указывать значение. DEFAULT задает значение по умолчанию. В результате, когда данные в поле не передаются при добавлении записи, поле заполняется тем, что было указано по умолчанию.
Допустим, в таблице поля url, theme и num не должны быть пустыми. При этом если значение для num не передается, то полю присваивается 0. В этом случае команда для создания таблицы будет такой:
С помощью команд .schema и PRAGMA TABLE_INFO() можно посмотреть схему таблицы.
Внешний ключ
С помощью внешнего ключа устанавливается связь между записями разных таблиц. Внешний ключ в одной таблице для другой является первичным. Внешние ключи не обязаны быть уникальными. В одной таблице может быть несколько внешних ключей, при этом каждый будет устанавливать связь со своей таблицей, где он является первичным.
Представим, что у нас есть вторая таблица, в которой перечислены темы-разделы, а их номера являются уникальными идентификаторами.
Тогда в первой таблице в столбце theme следует хранить номера тем – их ID, взятые из второй таблицы. Это будут внешние ключи, представляющие собой первичные в таблице с разделами. Внешние ключи уникальными не будут, так как разные страницы могут принадлежать к одной и той же теме.
FOREIGN KEY является ограничителем, так как не дает нам записать в поле столбца theme какое-либо иное значение, которое не встречается в качестве первичного ключа в таблице sections. Однако в SQLite поддержка внешнего ключа по умолчанию отключена. Поэтому, даже назначив столбец внешним ключом, вы сможете записывать в его поля любые значения.
Чтобы включить поддержку внешних ключей в sqlite3, надо выполнить команду PRAGMA foreign_keys = ON; . После этого добавить в таблицу запись, в которой внешний ключ не совпадает ни с одним первичным из другой таблицы, не получится.
Источник
Работа с MySQL базами данных в консоли Linux
Долгое время все основные операции с MySQL-базами я проводил в веб-интерфейсе — посредством обычной хостинг-панели и утилиты PhpMyAdmin. В таком формате все администрирование базы данных ложилось на плечи приложения PhpMyAdmin, которое написано на языке PHP и зависит от разных факторов, например конфигурации веб-сервера, версий программного обеспечения и самого PHP. Когда количество баз данных растет, а окружения постоянно меняются, MyPhpAdmin требует дополнительных ресурсов и настройки, иначе может работать не совсем стабильно, например срабатывают ошибки, лимиты и таймауты. Да и сам веб-интерфейс имеет свои ограничения, поэтому для серьезных задач профессионалы используют только командную строку. Как выяснилось, это намного быстрее, стабильнее и безопаснее. В этой заметке хочу поделиться основными командами для работы с MySQL/MariaDB в консоли VPS-сервера под управлением ОС Linux.
Подключение
mysql -u username -p #подключение к MySQL-серверу от имени пользователя
mysql -u username -p databasename #подключение к базе данных от имени ее пользователя
exit #покинуть базу данных и оборвать соединение с MySQL-сервером
Создание
CREATE DATABASE databasename; #создать базу данных с указанным именем
SHOW CREATE DATABASE databasename; #создание базы данных с выводом параметров
CREATE DATABASE `databasename` CHARACTER SET utf8 COLLATE utf8_general_ci; #создание базы данных с указанными параметрами (кодировка utf8)
CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘userpassword’; #создать пользователя базы данных с именем и паролем
GRANT ALL PRIVILEGES ON databasename.table_of_database TO ‘username’@’localhost’; #предоставить пользователю права доступа к базе данных и ее таблице
GRANT ALL PRIVILEGES ON databasename.* TO ‘username’@’localhost’; #предоставить пользователю права доступа ко всем таблицам указанной базы данных
GRANT ALL PRIVILEGES ON *.* TO ‘username’@’localhost’; #предоставить пользователю права доступа ко всем базам данных и таблицам
GRANT SELECT, INSERT, DELETE ON databasename.* TO ‘username’@’localhost’; #предоставить пользователю ограниченные права доступа с возможностью выбирать базу данных, вставлять строки в таблицы, удалять строки
FLUSH PRIVILEGES; #применить, чтобы установленные права доступа для пользователя вступили в силу
REVOKE ALL PRIVILEGES ON databasename.* TO ‘username’@’localhost’; #отменить все права доступа к указанной базе данных и всем ее таблицам для пользователя
Просмотр
SHOW DATABASES; #показать все базы данных
USE databasename; #перейти в указанную базу данных
SHOW TABLES; #показать все таблицы текущей базы данных
SELECT * FROM tablename; #показать содержание указанной таблицы базы данных
SELECT User FROM mysql.user; #вывести на экран всех пользователей MySQL
SELECT User, Host FROM mysql.user; #вывести на экран всех пользователей MySQL и их хосты
SELECT User, Host, Password FROM mysql.user; #вывести на экран всех пользователей MySQL, их хосты и пароли (количество параметров можно добавлять)
SHOW GRANTS; #просмотр всех привилегий активного пользователя
SHOW GRANTS FOR ‘username’@’localhost’; #показать права доступа (привилегии) для указанного пользователя базы данных
Операции
DROP DATABASE databasename; #удалить базу данных
DROP USER ‘username’@’localhost’; #удалить пользователя базы данных
SET PASSWORD FOR ‘username’@’localhost’ = PASSWORD(‘newpassword’); #установить пароль для пользователя базы данных
RENAME TABLE tablename TO newtablename; #переименовать название ранее выбранной таблицы базы данных (выбор с помощью USE)
DELETE FROM tablename WHERE fieldname = ‘name’; #удалить строку из указанной таблицы
ALTER TABLE tablename DROP INDEX columnname; #удалить столбец из базы данных
TRUNCATE TABLE Tablename; #полное удаление содержимого таблицы базы данных
mysqldump -u username -p databasename > dump_file.sql #создание резервной копии базы данных (дамп)
mysqldump -u root -p -B dbname1 dbname2 > dump.sql #создание дампа выбранных баз данных
mysqldump -u root -p -A > dump.sql #дамп всех баз данных
mysql -u root -p namedatabase #восстановление или импорт дампа базы данных
SHOW GLOBAL STATUS; #вывести на экран статистику MySQL-базы данных
Источник