Просмотр таблиц mysql linux

Gentoo Way Linux, Gentoo, Kubuntu, Ubuntu, Debian … компилируем всё!

mysql > select lookup.illustrationid , lookup.personid , person.birthday from lookup left join person on lookup.personid = person.personid = statement to join birthday in person table with primary illustration id ;

Создание пользователя. Вход под root. Переключение на БД mysql. Создание пользователя и обновление привилегий.

mysql > use mysql ;
mysql > INSERT INTO user ( Host , User , Password ) VALUES ( ‘ % ‘ , ‘username’ , PASSWORD ( ‘password’ ) ) ;
mysql > flush privileges ;

Смена пароля пользователя из консоли
Смена пароля пользователя из консоли MySQL. Вход как root. Смена пароля. Обновление привелегий.

mysql > SET PASSWORD FOR ‘user’ @ ‘hostname’ = PASSWORD ( ‘passwordhere’ ) ;
mysql > flush privileges ;

Восстановление пароля root пользователя. Остановить MySQL сервер. Запустить с пониженной безопасностью. Залогинится на MySQL как root. Установить новый пароль. Разлогинится и перезапустить MySQL сервер.

mysql > use mysql ;
mysql > update user set password = PASSWORD ( ‘newrootpassword’ ) where User = ‘root’ ;
mysql > flush privileges ;
mysql > quit

Установка пароля root если он ещё не задавался ранее
Смена пароля root
Разрешить пользователю «Bob» подключаться к серверу c локального адреса с паролем «passwd». Войти как root. Переключиться на БД mysql. Дать привилегии. Обновить привелегии.

mysql > use mysql ;
mysql > grant usage on * . * to bob@localhost identified by ‘passwd’ ;
mysql > flush privileges ;

Предоставить пользователю привилегии на БД. Авторизоваться как root. Переключиться на БД mysql. Предоставить привилегии. Обновить кеш привилегий.

mysql > use mysql ;
mysql > INSERT INTO user ( Host , Db , User , Select_priv , Insert_priv , Update_priv , Delete_priv , Create_priv , Drop_priv ) VALUES ( ‘ % ‘ , ‘databasename’ , ‘username’ , ‘Y’ , ‘Y’ , ‘Y’ , ‘Y’ , ‘Y’ , ‘N’ ) ;
mysql > flush privileges ;

или
Обновить информацию для существующего пользователя

mysql > use mysql ;
mysql > UPDATE `user` SET Select_priv = ‘Y’ , Insert_priv = ‘Y’ , Update_priv = ‘Y’ where `User` = ‘user’ ;
flush privileges ;

Удалить строки из таблицы
Обновить кеш привилегий
Удалить колонку из таблицы
Добавить колонку в таблицу
Переименовать колонку
Сделать данные в колоке уникальными (если дублирующиеся уже есть — будет ошибка)
Модифицировать колонку
Удалить индекс
Загрузить данные в БД из CSV файла.

mysql > LOAD DATA INFILE ‘/tmp/filename.csv’ replace INTO TABLE `table name` FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘ \n ‘ ( field1 , field2 , field3 ) ;

Сделать дамп всех БД для бэкапа. Бэкап это файл с SQL командами для воссоздания всех баз.
Сделать дамп одной базы.
Сделать дамп одной таблицы
Восстановить БД (или таблицу) из бэкапа
Создание таблицы, пример 1.

mysql > CREATE TABLE `table name` (
`firstname` VARCHAR ( 20 ) ,
`middleinitial` VARCHAR ( 3 ) ,
`lastname` VARCHAR ( 35 ) ,
`suffix` VARCHAR ( 3 ) ,
`officeid` VARCHAR ( 10 ) ,
`userid` VARCHAR ( 15 ) ,
`username` VARCHAR ( 8 ) ,
`email` VARCHAR ( 35 ) ,
`phone` VARCHAR ( 25 ) ,
`groups` VARCHAR ( 15 ) ,
`datestamp` DATE ,
`timestamp` time ,
`pgpemail` VARCHAR ( 255 )
) ;

Читайте также:  Количество ядер linux команда
Создание таблицы, пример 2.

mysql > CREATE TABLE `table name` (
personid int ( 50 ) not null auto_increment primary key ,
firstname VARCHAR ( 35 ) ,
middlename VARCHAR ( 50 ) ,
lastname VARCHAR ( 50 ) default ‘bato’
) ;

Источник

Командная строка MySQL

MySQL – это одна из востребованных систем управления базами данных (СУБД). База данных предназначена для хранения массивов данных в структурированном виде. Для работы с данными используется язык программирования SQL (Structured Query Language, в переводе – структурированный язык запросов).

MySQL – не единственная система управления базами данных. Также широко используются MariaDB, PostgreSQL, Microsoft SQL Server, SQLite и продукты от Percona. На серверах LITE.HOST используется сервер базы данных MariaDB 10.3, который является аналогом MySQL 5.7. Обратите внимание, что поменять версию СУБД на хостинге нельзя, для этого нужно использовать наши виртуальные серверы на базе операционной системы Linux.

Подключение к базе данных

Для работы с MySQL необходимо специализированное программное обеспечение. На хостинге LITE.HOST используется phpMyAdmin – панель, позволяющая выполнять любые действия с базой данных без знания SQL. Также управлять базами данных можно и по SSH через командную строку.

Рассмотрим выполнение базовых команд языка SQL из консоли сервера (их также можно выполнять через phpMyAdmin во вкладке «SQL»). Для того, чтобы запустить командную строку MySQL, войдите по SSH и воспользуйтесь командой mysql . В аргументе -u передайте имя пользователя от нужной базы данных (в нашем случае это root) и введите пароль.

[~]$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 32227 Server version: 5.7.38 MySQL Community Server (GPL) Copyright (c) 2000, 2022, Oracle and/or its affiliates. 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>

Построение описанных дальше запросов полезно знать разработчикам и тестировщикам, либо просто для расширения своего кругозора. Обычным пользователям удобнее работать с базами данных через phpMyAdmin, данная система сама выполняет построение запросов и выводит информацию в удобном виде.

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

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

mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)

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

Создание базы данных

Для создания базы данных необходимо воспользоваться командой CREATE DATABASE . Обратите внимание, что на виртуальном хостинге создание баз данных должно производиться только через панель управления хостингом.

mysql> CREATE DATABASE test; Query OK, 1 row affected (0.01 sec)

Далее, с помощью SHOW DATABASES можете убедиться, что новая база данных создана

mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | test | +--------------------+ 5 rows in set (0.00 sec)

Выбор базы данных

Для выбора базы данных используйте USE , если это не сделать, то в командах SELECT , UPDATE , INSERT и DELETE нужно будет всегда указывать название базы данных, что неудобно.

mysql> USE test; Database changed

Просмотр списка таблиц

Отобразим список текущих таблиц с помощью знакомой нам команды SHOW .

mysql> SHOW TABLES; Empty set (0.01 sec)

Empty set говорит нам о том, что в базе данных нет таблиц.

Читайте также:  Как открыть wine на linux

Создание таблицы

Создадим таблицу пользователей с помощью команды CREATE .

mysql> CREATE TABLE `users` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `name` VARCHAR(64) NOT NULL , PRIMARY KEY (`id`)); Query OK, 0 rows affected (0.02 sec)

С помощью данной команды мы создали таблицу users , которая будет содержать цифровое ID пользователя (генерируется сервером базы данных автоматически) и имя пользователя до 64 символов.

С более подробной информацией о команде CREATE можно ознакомиться на сайте mariadb.com. Теперь с помощью SHOW можно увидеть созданную таблицу.

mysql> SHOW TABLES; +----------------+ | Tables_in_test | +----------------+ | users | +----------------+ 1 row in set (0.00 sec)

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

Вставка данных в таблицу

Теперь можно добавить нового пользователя в таблицу с помощью команды INSERT , подробнее о синтаксисе данной команды можно узнать на сайте mariadb.com.

mysql> INSERT `users` SET `name` = 'Elena Ivanova'; Query OK, 1 row affected (0.00 sec)

Выборка данных из таблицы

Этим мы добавили нового пользователя «Elena Ivanova» в таблицу users . Настало время получить данные из таблицы с помощью команды SELECT , подробнее об этой команде можно узнать по ссылке.

mysql> SELECT * FROM `users`; +----+---------------+ | id | name | +----+---------------+ | 1 | Elena Ivanova | +----+---------------+ 1 row in set (0.00 sec)

Обратите внимание, пользователю «Elena Ivanova» система базы данных присвоила идентификатор 1, с помощью него можно менять данные для отдельных строк.

В документации можно вдобавок узнать про такие полезные операторы как ORDER , GROUP и LIMIT — для сортировки, объединения и ограничения числа записей. К тому же, мы не рекомендуем использовать ORDER BY RAND() на таблицах с большим числом данных, это будет приводить к созданию временных таблиц и медленному выполнению запросов.

Также, при выборке данных мы использовали символ * , который получил все столбцы из таблицы. Однако, если в таблице много столбцов, то оптимальнее будет делать выборку тех, которые нужны для дальнейшей работы. Например, мы можем получить только имена пользователей:

mysql> SELECT `name` FROM `users`; +---------------+ | name | +---------------+ | Elena Ivanova | +---------------+ 1 row in set (0.00 sec)

Изменение данных в таблице

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

mysql> UPDATE `users` SET `name` = 'Elena Popova' WHERE `id` = 1; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0

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

mysql> SELECT * FROM `users`; +----+--------------+ | id | name | +----+--------------+ | 1 | Elena Popova | +----+--------------+ 1 row in set (0.00 sec)

Удаление строки из таблицы

Пользователя можно удалить с помощью команды DELETE , также с использованием идентификатора.

mysql> DELETE FROM `users` WHERE `id` = 1; Query OK, 1 row affected (0.01 sec)

Если опустить указание идентификатора через WHERE , то запрос удалит все строки из таблицы.

Читайте также:  Запрещено изменять файлы linux

Удаление таблицы

Удалим таблицу users , это можно сделать с помощью команды DROP TABLE .

mysql> DROP TABLE `users`; Query OK, 0 rows affected (0.02 sec)

Удаление базы данных

Удалим базу данных test , чтобы вернуться к первоначальному состоянию. Сделать это можно с помощью команды DROP DATABASE .

mysql> DROP DATABASE `test`; Query OK, 0 rows affected (0.00 sec)

Создание пользователей

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

mysql> CREATE USER 'admin'@'localhost' IDENTIFIED BY 'KJ2aqCa89vjYsrFh'; Query OK, 0 rows affected (0.01 sec)

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

Изменение пароля пользователя

Изменить пароль пользователя можно с помощью ALTER USER .

mysql> ALTER USER 'admin'@'localhost' IDENTIFIED BY '2XdoiZrsDN67ozCd'; Query OK, 0 rows affected (0.00 sec)

Настройка прав пользователя

Создав пользователя, по умолчанию он не будет иметь доступа к базам данных. Чтобы пользователь мог читать и изменять данные в базе данных, нужно его наделить этими правами с помощью команды GRANT .

mysql> GRANT ALL PRIVILEGES ON test.* TO 'admin'@'localhost'; Query OK, 0 rows affected (0.01 sec)

С помощью этого запроса мы предоставили полные привилегии пользователю admin, подключенного с сервера localhost для базы данных test. Вместо ALL PRIVILEGES можно указать только SELECT , тогда пользователь сможет только читать данные из базы данных.

Удаление пользователя

Для удаления пользователя нужно использовать команду DROP USER .

mysql> DROP USER 'admin'@'localhost'; Query OK, 0 rows affected (0.01 sec)

Заключение

Описанные команды SQL выполняются на любом сайте, где происходит хранение каких-либо данных в базе данных и это лишь малая часть функций сервера базы данных. Вы можете дальше изучить разные типы движков MyISAM, InnoDB и MEMORY. Настройку индексов для более быстрой работы выборки данных, различные типы данных в таблицах (INT, CHAR, ENUM, DATE и прочие).

Источник

Оцените статью
Adblock
detector