воскресенье, 5 июня 2022 г.

Небольшая напоминалка по MySQL

Небольшая напоминалка по  MySQL


Auto insert with TimeStamp

CREATE TABLE test (  

  id INTEGER,  

  txt VARCHAR(20),  

  ts1 TIMESTAMP DEFAULT CURRENT_TIMESTAMP,  

  ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

);


Copy Database

mysqldump -u root -p db1 > dump.sql

mysqladmin -u root -p create db2

mysql -u root -p db2 < dump.sql


Create User

mysql> grant all privileges on DBNAME.* to USERNAME@localhost identified by 'PASSWORD';

mysql> grant all privileges on DBNAME.* to USERNAME@"%" identified by 'PASSWORD';

mysql> flush privileges;

 

--all DB

mysql> grant all privileges on *.* to USERNAME@localhost identified by 'PASSWORD';

mysql> grant all privileges on *.* to USERNAME@"%" identified by 'PASSWORD';

mysql> flush privileges;


Delete User

mysql> drop user USERNAME;

or

mysql> delete from mysql.user where user = 'USERNAME';


Change Password

--User

mysql> set password for USER@"%" = password('PASSWORD');

mysql> set password for USER@localhost = password('PASSWORD');

 

--root

mysql> set password for root=password('PASSWORD');

mysql> set password for root@localhost=password('PASSWORD');


CSV Import / Export

ERROR 1045 (28000) at line 1: Access denied for user 'USER'@'localhost' (using password: YES)

mysql> grant file on *.* to USER@localhost;


Tips

--Create table as same data and type

mysql> create  table newtable as select * from orgtable;

 

--Create table with same type. data is null.

mysql> create  table newtable as select * from orgtable where id is null;


Export to CSV

# mysql -uUSER -pPASS DATABASE -e "select * from TABLE;" | sed -e 's/^/"/g' | sed -e 's/$/"/g' | sed -e 's/\t/","/g' > /tmp/test.csv