https://dev.mysql.com/downloads/mysql/ Download TAR option
- Unpack TAR
- Create
data
directory in exploded root - Initialize -
mysqld --initialize
- Check for line and make note of root password
A temporary password is generated for root@localhost:
- Start server -
sudo mysqld --user=$CURRENT_USER
MAC - /usr/local/mysql/bin/mysqladmin -u root shutdown -p
- Login as root -
mysql -u root -p
(use saved password above) - Reset root password -
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
- Create User -
CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'password';
- Grant permissions -
GRANT ALL ON *.* TO 'dbuser'@'localhost' WITH GRANT OPTION;
- Reset password REQUIRED -
ALTER USER 'dbuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;
- Create database -
create database dbname;
- Grant permissions to 'dbname' -
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
- JDBC =
mysql://username:password@host:port/db_name
- terminal =
mysql -u root -p -D <DB-name>
- Set default for boolean column -
ALTER TABLE api_audit MODIFY COLUMN customer_visible boolean NOT NULL DEFAULT 0;
- Display
- To use less to scroll horizontally and vertically -
pager less -SFX
. To reset -nopager
- Or execute query as
select * from table\G
, replace;
with\G
- Run queries inline without logging in
mysql -hlocalhost -P 3306 -udbuser --protocol=tcp -D db --execute="drop table test"
- To use less to scroll horizontally and vertically -
- Get DDL statement from live table
SHOW CREATE TABLE
SHOW TABLES LIKE 'user%'
SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'table' group by constraint_name;
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE table1;
SET FOREIGN_KEY_CHECKS = 1;
mysql -h localhost -P 3306 --protocol=tcp -u dbuser -D db
(on mac replace localhost
with 172.17.0.1
the default ip of docker desktop)
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql
cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE