Tag: MySQL/管理
mysqladminコマンドを使って設定する方法。
mysqladmin -u root password <new_password>
mysqlテーブルを操作してパスワードを設定する方法。
$ mysql -u root -p; mysql> use mysql; mysql> set password for root@localhost=password('任意のpasswd');
$ mysql -u root -p mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザ名@localhost IDENTIFIED BY 'パスワード'
mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザ名@'%' IDENTIFIED BY 'パスワード'
mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザ名 IDENTIFIED BY 'パスワード'
$ mysql -uroot -p mysql> use mysql; mysql> select * from user;
Access denied の原因がわからない場合は、user テーブルから Host 値にワイルドカードが含まれているエントリ(‘%’ または ‘_’ を含むエントリ)をすべて削除する。 よくある間違いは、Host='%' および User='some user' の新規エントリを挿入し、これで、同一マシンから接続する際には localhost を指定できると考えていることである。これがうまくいかない理由は、デフォルト権限として、Host='localhost' および User='' のエントリが含まれているためである。Host 値が 'localhost' の場合、'%' よりも具体的なため、localhost からの接続時に新しいエントリよりもデフォルト権限が優先される。正しい指定の方法は、Host='localhost' および User='some_user' の 2 つ目のエントリを挿入するか、Host='localhost' および User='' のエントリを削除することである。
show create database testdb
show create table xxxxx;
mysqldump -d <データベース名> (<テーブル名>)
ALTER TABLE item ADD COLUMN price char(100);
ALTER TABLE テーブル名 MODIFY カラム名 データ型 after 移動させる一つ上のカラム名;
ALTER TABLE book CHANGE COLUMN title title varchar(400);
ALTER TABLE provider DROP PRIMARY KEY, ADD PRIMARY KEY(person, place, thing);
mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name LIKE "%dir"'
mysqldump -udb_user db_name -pdb_pass | gzip | ssh example.com 'zcat | mysql -udb_user db_name -pdb_pass'
ssh dbserver "mysql demodb_production -e 'select * from books'"
"ssh dbserver \"mysql demodb_production -e 'select \* from books'\" "
[mysqld] slow_query_log=1 slow_query_log_file=/var/log/slow_query.log long_query_time=1
mysqldumpslow -s t /var/log/mysql/mysql-slow.sql