Guest User

Untitled

a guest
Apr 5th, 2018
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.85 KB | None | 0 0
  1. # change root password
  2. mysqladmin -u root -p password
  3.  
  4. show databases;
  5. use database_name;
  6. show tables;
  7.  
  8. # Достать информацию о юзере с id=22:
  9. SELECT * FROM users WHERE id=22;
  10. # Если в конце запроса поставить не ; а \G, то
  11. # результат будет показан другим образом - иногда весьма удобно, если таблица имеет много полей:
  12. SELECT * FROM users WHERE id=22\G
  13.  
  14. # Бэкап структуры таблицы, а точнее sql-запрос на её создание
  15. show create table table_name;
  16.  
  17. # Посмотреть, какие запросы выполняются в данный момент на сервере MySQL:
  18. # Учтите, что будут отображены еще не выполненные (активные) запросы, поэтому
  19. # show processlist; актуальная команды только для нагруженных БД, в других
  20. # случаях маловероятно, что команда что то покажет.
  21. show processlist;
  22.  
  23. # Сделать бэкап базы database в файл dump_name.sql
  24. mysqldump -u [username] -p [password] [database] > [dump_name.sql]
  25.  
  26. # Развернуть базу из файла через командную строку
  27. mysql -u [username] -p [password] [database] < [dump_to_restore.sql]
  28.  
  29. # Сделать дамп структуры одной таблицы mysql (без данных):
  30. mysqldump -u[user] -p[password] -h[host] [database] [table_name] --no-data > /path/dump_name.sql
  31.  
  32. # Например, задампим таблицу users из базы данных mydatabase:
  33. mysqldump -uroot mydatabase users > users.dump.sql
  34.  
  35. # Развернуть mysql-dump в БД с именем database_name:
  36. mysql -uroot database_name < users.dump.sql
  37.  
  38. #
  39. show variables like '%incr%';
  40.  
  41. # Вывести список таблиц базы данных, не подключаясь непосредственно к mysql:
  42. mysql -uroot -e 'show tables' database_name && echo done
  43.  
  44. # удаленный доступ
  45. mysql -u имя_пользователя -p пароль_пользователя -h хост_или_IP_сервера_MySQL
  46. mysql --user=имя_пользователя --password=пароль_пользователя --host=хост_или_IP_сервера_MySQL
  47. mysql -u имя_пользователя -h хост_или_IP_сервера_MySQL -p
  48. mysql --user=имя_пользователя --password=пароль_пользователя --host=хост_или_IP_сервера_MySQL --database=имя_базы_данных
  49. mysql -u имя_пользователя -h хост_или_IP_сервера_MySQL имя_базы_данных -p
  50.  
  51. #
  52. CREATE DATABASE имя_базы_данных;
  53. mysqladmin create имя_базы_данных;
  54.  
  55. # create user
  56. CREATE USER 'username'@'host_or_IP' IDENTIFIED BY 'user_pass';
  57.  
  58. # Show user's list
  59. SELECT USER FROM mysql.user;
  60.  
  61. # Delete user
  62. DROP USER 'jeffrey'@'localhost';
  63.  
  64. # Кстати, при указании хоста для подключения к MySQL серверу можно использовать символ процента — %,
  65. # который означает, что создаваемый пользователь может соединяться с сервером MySQL с любого IP адреса или хоста.
  66. # При этом нужно учитывать, что в данном случае localhost не входит в список адресов,
  67. # указываемых с помощью %, т.к. localhost обозначает подключение через UNIX сокет вместо стандартного TCP/IP.
  68. # Т.е. если созданный пользователь MySQL будет подключаться к серверу не с помощью сокетов,
  69. # а по другому протоколу, указываемому при соединении с MySQL сервером в консоли, то ему нужно будет
  70. # создавать две учётные записи пользователя:
  71. CREATE USER 'имя_пользователя'@'%' IDENTIFIED BY 'password';
  72. CREATE USER 'имя_пользователя'@'localhost' IDENTIFIED BY 'password';
  73.  
  74. # Если захотите создать суперюзера, т.е. обладающего глобальными привилегиями для осуществления различных действий
  75. # со всеми БД на сервере,то используйте следующий вызов команды:
  76. GRANT ALL PRIVILEGES ON имя_базы_данных.* TO 'имя_пользователя'@'хост_или_IP_машины';
  77. GRANT ALL ON *.* TO 'имя_пользователя'@'хост_или_IP_машины';
  78.  
  79. # права только на базы данных, начинающихся с 'laravel'
  80. GRANT ALL PRIVILEGES ON `laravel\_%`.* TO 'laravel'@'localhost';
  81.  
  82. # Кстати, не лишним будет очистить кэш MySQL сервера после установки привилегий. Если будете их менять,
  83. # то также не забывайте делать это вызовом следующей команды:
  84. FLUSH PRIVILEGES;
  85.  
  86. # А если захотите поменять права пользователя, то используйте сначала следующую команду чтобы сбросить все права:
  87. REVOKE ALL PRIVILEGES ON *.* FROM 'имя_пользователя'@'хост_или_IP_машины';
  88. # А затем установите ему нужные с помощью GRANT, как это было описано ранее.
  89.  
  90. # Если же вам в будущем потребуется изменить пароль пользователя MySQL, то для этого достаточно
  91. # выполнить в MySQL Shell следующие команды:
  92. SET PASSWORD FOR 'имя_пользователя'@'хост_или_IP_машины' = PASSWORD('новый_пароль');
  93. FLUSH PRIVILEGES;
  94.  
  95. #
  96. CREATE TABLE имя_таблицы (название_поля_1 тип_поля_1, название_поля_2 тип_поля_2(размер_поля_2), INDEX(название_поля_1), ...);
  97.  
  98. # скопировать таблицу в другую базу данных или просто создать копию в текущей, вам помогут следующие команды:
  99. # Данные команды позволяют скопировать структуру таблицы и её данные вместе с индексами и триггерами таблиц
  100. CREATE TABLE новое_имя_таблицы LIKE старое_имя_таблицы;
  101. INSERT новое_имя_таблицы SELECT * FROM старое_имя_таблицы;
  102.  
  103. # Если вам нужны просто данные и структура (имена полей и их типов данных), то можете обойтись вызовом одной команды:
  104. CREATE TABLE новое_имя_таблицы AS SELECT * FROM старое_имя_таблицы;
  105.  
  106. # выводит информацию о полях таблицы БД в табличном виде в консоль MySQL с указанием названия поля,
  107. # типа данных, наличия ключей, значением по умолчанию и т.д. При использовании ключевого слова FULL
  108. # можно получить расширенную информацию, включая привилегии на каждое из полей для текущего пользователя,
  109. # комментарии к каждому из них и значение кодировки.
  110. SHOW FULL COLUMNS FROM имя_таблицы;
  111.  
  112. # команда, помимо имени, типов полей и значений их по умолчанию позволяет получить значения ключей таблиц,
  113. # движков таблиц (InnoDB, MyISAM), кодировку и др.
  114. SHOW CREATE TABLE имя_таблицы;
  115.  
  116. # удалить определённое поле таблицы
  117. ALTER TABLE имя_таблицы DROP COLUMN название_поля;
  118.  
  119. # добавить определённое поле таблицы
  120. ALTER TABLE имя_таблицы ADD COLUMN название_поля VARCHAR(20);
  121.  
  122. # переименовать поле и попутно изменить тип хранимых в нём данных
  123. ALTER TABLE имя_таблицы CHANGE старое_название_поля новое_название_поля VARCHAR(50);
  124.  
  125. # изменить исключительно тип данных.
  126. ALTER TABLE имя_таблицы MODIFY название_поля VARCHAR(3);
  127.  
  128. # Тоже самое можно делать и с индексами таблиц с помощью во многом похожих команд:
  129. # Приведённые команды позволяют добавлять, переименовывать и удалять индексы из таблиц MySQL через командную строку
  130. ALTER TABLE имя_таблицы ADD UNIQUE INDEX имя_индекса (название_поля_1, ...);
  131. ALTER TABLE имя_таблицы rename INDEX старое_имя_индекса TO новое_имя_индекса;
  132. ALTER TABLE имя_таблицы DROP INDEX имя_индекса;
  133.  
  134. # Для добавления и удаления индексов есть, кстати, ещё альтернативный вариант
  135. # использования самостоятельных команд, а не делать это через ALTER TABLE.
  136. CREATE UNIQUE INDEX имя_индекса (название_поля_1, ...) ON имя_таблицы;
  137. DROP INDEX имя_индекса ON имя_таблицы;
Add Comment
Please, Sign In to add comment