Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # change root password
- mysqladmin -u root -p password
- show databases;
- use database_name;
- show tables;
- # Достать информацию о юзере с id=22:
- SELECT * FROM users WHERE id=22;
- # Если в конце запроса поставить не ; а \G, то
- # результат будет показан другим образом - иногда весьма удобно, если таблица имеет много полей:
- SELECT * FROM users WHERE id=22\G
- # Бэкап структуры таблицы, а точнее sql-запрос на её создание
- show create table table_name;
- # Посмотреть, какие запросы выполняются в данный момент на сервере MySQL:
- # Учтите, что будут отображены еще не выполненные (активные) запросы, поэтому
- # show processlist; актуальная команды только для нагруженных БД, в других
- # случаях маловероятно, что команда что то покажет.
- show processlist;
- # Сделать бэкап базы database в файл dump_name.sql
- mysqldump -u [username] -p [password] [database] > [dump_name.sql]
- # Развернуть базу из файла через командную строку
- mysql -u [username] -p [password] [database] < [dump_to_restore.sql]
- # Сделать дамп структуры одной таблицы mysql (без данных):
- mysqldump -u[user] -p[password] -h[host] [database] [table_name] --no-data > /path/dump_name.sql
- # Например, задампим таблицу users из базы данных mydatabase:
- mysqldump -uroot mydatabase users > users.dump.sql
- # Развернуть mysql-dump в БД с именем database_name:
- mysql -uroot database_name < users.dump.sql
- #
- show variables like '%incr%';
- # Вывести список таблиц базы данных, не подключаясь непосредственно к mysql:
- mysql -uroot -e 'show tables' database_name && echo done
- # удаленный доступ
- mysql -u имя_пользователя -p пароль_пользователя -h хост_или_IP_сервера_MySQL
- mysql --user=имя_пользователя --password=пароль_пользователя --host=хост_или_IP_сервера_MySQL
- mysql -u имя_пользователя -h хост_или_IP_сервера_MySQL -p
- mysql --user=имя_пользователя --password=пароль_пользователя --host=хост_или_IP_сервера_MySQL --database=имя_базы_данных
- mysql -u имя_пользователя -h хост_или_IP_сервера_MySQL имя_базы_данных -p
- #
- CREATE DATABASE имя_базы_данных;
- mysqladmin create имя_базы_данных;
- # create user
- CREATE USER 'username'@'host_or_IP' IDENTIFIED BY 'user_pass';
- # Show user's list
- SELECT USER FROM mysql.user;
- # Delete user
- DROP USER 'jeffrey'@'localhost';
- # Кстати, при указании хоста для подключения к MySQL серверу можно использовать символ процента — %,
- # который означает, что создаваемый пользователь может соединяться с сервером MySQL с любого IP адреса или хоста.
- # При этом нужно учитывать, что в данном случае localhost не входит в список адресов,
- # указываемых с помощью %, т.к. localhost обозначает подключение через UNIX сокет вместо стандартного TCP/IP.
- # Т.е. если созданный пользователь MySQL будет подключаться к серверу не с помощью сокетов,
- # а по другому протоколу, указываемому при соединении с MySQL сервером в консоли, то ему нужно будет
- # создавать две учётные записи пользователя:
- CREATE USER 'имя_пользователя'@'%' IDENTIFIED BY 'password';
- CREATE USER 'имя_пользователя'@'localhost' IDENTIFIED BY 'password';
- # Если захотите создать суперюзера, т.е. обладающего глобальными привилегиями для осуществления различных действий
- # со всеми БД на сервере,то используйте следующий вызов команды:
- GRANT ALL PRIVILEGES ON имя_базы_данных.* TO 'имя_пользователя'@'хост_или_IP_машины';
- GRANT ALL ON *.* TO 'имя_пользователя'@'хост_или_IP_машины';
- # права только на базы данных, начинающихся с 'laravel'
- GRANT ALL PRIVILEGES ON `laravel\_%`.* TO 'laravel'@'localhost';
- # Кстати, не лишним будет очистить кэш MySQL сервера после установки привилегий. Если будете их менять,
- # то также не забывайте делать это вызовом следующей команды:
- FLUSH PRIVILEGES;
- # А если захотите поменять права пользователя, то используйте сначала следующую команду чтобы сбросить все права:
- REVOKE ALL PRIVILEGES ON *.* FROM 'имя_пользователя'@'хост_или_IP_машины';
- # А затем установите ему нужные с помощью GRANT, как это было описано ранее.
- # Если же вам в будущем потребуется изменить пароль пользователя MySQL, то для этого достаточно
- # выполнить в MySQL Shell следующие команды:
- SET PASSWORD FOR 'имя_пользователя'@'хост_или_IP_машины' = PASSWORD('новый_пароль');
- FLUSH PRIVILEGES;
- #
- CREATE TABLE имя_таблицы (название_поля_1 тип_поля_1, название_поля_2 тип_поля_2(размер_поля_2), INDEX(название_поля_1), ...);
- # скопировать таблицу в другую базу данных или просто создать копию в текущей, вам помогут следующие команды:
- # Данные команды позволяют скопировать структуру таблицы и её данные вместе с индексами и триггерами таблиц
- CREATE TABLE новое_имя_таблицы LIKE старое_имя_таблицы;
- INSERT новое_имя_таблицы SELECT * FROM старое_имя_таблицы;
- # Если вам нужны просто данные и структура (имена полей и их типов данных), то можете обойтись вызовом одной команды:
- CREATE TABLE новое_имя_таблицы AS SELECT * FROM старое_имя_таблицы;
- # выводит информацию о полях таблицы БД в табличном виде в консоль MySQL с указанием названия поля,
- # типа данных, наличия ключей, значением по умолчанию и т.д. При использовании ключевого слова FULL
- # можно получить расширенную информацию, включая привилегии на каждое из полей для текущего пользователя,
- # комментарии к каждому из них и значение кодировки.
- SHOW FULL COLUMNS FROM имя_таблицы;
- # команда, помимо имени, типов полей и значений их по умолчанию позволяет получить значения ключей таблиц,
- # движков таблиц (InnoDB, MyISAM), кодировку и др.
- SHOW CREATE TABLE имя_таблицы;
- # удалить определённое поле таблицы
- ALTER TABLE имя_таблицы DROP COLUMN название_поля;
- # добавить определённое поле таблицы
- ALTER TABLE имя_таблицы ADD COLUMN название_поля VARCHAR(20);
- # переименовать поле и попутно изменить тип хранимых в нём данных
- ALTER TABLE имя_таблицы CHANGE старое_название_поля новое_название_поля VARCHAR(50);
- # изменить исключительно тип данных.
- ALTER TABLE имя_таблицы MODIFY название_поля VARCHAR(3);
- # Тоже самое можно делать и с индексами таблиц с помощью во многом похожих команд:
- # Приведённые команды позволяют добавлять, переименовывать и удалять индексы из таблиц MySQL через командную строку
- ALTER TABLE имя_таблицы ADD UNIQUE INDEX имя_индекса (название_поля_1, ...);
- ALTER TABLE имя_таблицы rename INDEX старое_имя_индекса TO новое_имя_индекса;
- ALTER TABLE имя_таблицы DROP INDEX имя_индекса;
- # Для добавления и удаления индексов есть, кстати, ещё альтернативный вариант
- # использования самостоятельных команд, а не делать это через ALTER TABLE.
- CREATE UNIQUE INDEX имя_индекса (название_поля_1, ...) ON имя_таблицы;
- DROP INDEX имя_индекса ON имя_таблицы;
Add Comment
Please, Sign In to add comment