Шпаргалка по mysql
2022-05-11 19:39Установка пароля:
Добавление юзера:$ mysqladmin -u root password 'new-password'
$ mysqladmin -u root -h хост password 'new-password'
Просмотр юзеров:$ mysql -u root -p mysql
Enter password: ...
mysql> INSERT INTO user (User,Host) VALUES('юзер','localhost');
mysql> FLUSH PRIVILEGES;
mysql> GRANT ALL PRIVILEGES ON база.* TO 'юзер'@'localhost'
-> IDENTIFIED BY 'пароль' WITH GRANT OPTION;
SET PASSWORD FOR 'юзер'@'localhost' = OLD_PASSWORD ('новый_пароль');
Удаление юзера:$ mysql -u root -p -e "select User,Host,Password from mysql.user;"
Enter password: ...
Посмотреть все базы:$ mysql -u root -p mysql
Enter password: ...
mysql> DELETE FROM mysql.user WHERE User = 'юзер';
mysql> FLUSH PRIVILEGES;
Создать базу DB:$ mysqlshow -p
Password: ...
Посмотреть права доступа:$ mysqladmin -p create DB
$ mysqlaccess \* \* -U root -P пароль

no subject
Date: 2022-05-12 03:17 (UTC)А что за странная идея майсиквелом пользоваться?
no subject
Date: 2022-05-12 03:43 (UTC)no subject
Date: 2022-05-12 15:25 (UTC)no subject
Date: 2022-05-12 05:28 (UTC)При добавлении юзера необязательно добавлять запись в mysql.user, можно сразу грант давать. При этом еще автоматом добавится грант USAGE ON *.*
GRANT ... WITH GRANT OPTION - плохая идея, если юзер нужен только для доступа аппликухи к базе.
И еще одно замечание. Дропнутый юзер не означает дропнутых грантов. Т.е. если дропнуть юзера а потом создать такого же (юзер@хост), то он унаследует все гранты от покойного. Да, вот так вот оно в мускле устроено - по крайней мере, пока внутренние структуры не переведены на иннодб и не сделаны все нужные внешние ключи.
no subject
Date: 2022-05-12 22:06 (UTC)Античненько.
И эти люди ...
no subject
Date: 2022-05-13 04:39 (UTC)Mysql изначально позиционировался, как пиджин-SQL, простенькая и нересурсоемкая альтернатива ораклу там, где данных всего пара-тройка мегабайт. Но концепция выстрелила и пошла в народ и вот уже на мускле ворочают терабайтные базы, а оракл покупает его саппорт.
Из-за, скажем так, лаконичности выразительных средств некоторые вещи на мускле требуют изрядной изворотливости. Но за это неплохо платят :)
no subject
Date: 2022-05-13 11:11 (UTC)Удивительно, что сапожник без сапог. Умеют же уже в foreign keys. И давно.
no subject
Date: 2022-05-13 12:34 (UTC)Вообще, последних года три-четыре прогресс весьма значительный, по крайней мере - в мариидб, я с ней больше работаю. Некоторые новые вещи просто ацки доставляют, например, новый тип 'ROW TYPE OF' - эквивалент сишных структур. Можно выдергивать в процедурах строку таблицы целиком в переменную, а не плодить туеву хучу переменных для каждого поля:
Злые языки поговаривают, что вся реализация этого типа - где-то 40 строчек кода, и когда сделали, то долго сидели с вытаращенными глазами, типа "А шо, так можно было?"
no subject
Date: 2022-05-13 17:50 (UTC)Ибо не для того же Оракул покупал мюскуэль чтобы развивать себе конкурента.
Всё ещё не перестал удивляться: в куцем sqlite есть FK. И даже триггеры. Пойду, приму 300 капель...
no subject
Date: 2022-05-13 18:53 (UTC)no subject
Date: 2022-05-27 12:53 (UTC)Причем оно еще и разное для MySQL и MariaDB
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
https://wiki.debian.org/MySql
For the MySQL 5.5+ auth_socket plugin:
USE mysql;
CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED WITH auth_socket;
exit;
For the MariaDB 5.2.0+ unix_socket plugin:
USE mysql;
CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED VIA unix_socket;
exit;