MySQLチートシート
インストール
sudo pacman -Syu
sudo pacman -S mysql mysql-workbench
sudo mkdir -p /var/lib/mysql/
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 750 /var/lib/mysql
sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
sudo systemctl enable --now mysqld
もし、dbeaver
などでrootにログインできなかったら、
UPDATE mysql.user SET authentication_string=PASSWORD('新しいパスワード'), plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
EXIT;
データインポートするのが遅かったら
一番早いのは、ログインしてから
use [database];
source ~/file.sql
mysql import, export中の進捗をログで表示
インストール
sudo pacman -S pv
実際に使ってみる
# import
pv ~/downloads/forum.sql | sudo mariadb --max_allowed_packet=64M web
# export
mysqldump --max_allowed_packet=64M -u root -p web | pv > ~/downloads/forum.sql
exportで失敗しないために
mysqldump
コマンドの引数で、max_allowed_packet
を指定する
mysqldump --max_allowed_packet=64M -u root -p web > ~/path/to/sample.sql
auth_socket
プラグインを使っているかどうか検証
SELECT user, host, plugin FROM mysql.user WHERE user='mc';
INSERTでSELECT参照
例として、members
テーブルのものをusers
テーブルに移植する。
INSERT INTO users (name, password, email)
SELECT name, password, email
FROM members;