mysql

MySQLのrootパスワードを忘れたときの対処法

  • safe_mysqld -u root --skip-grant-tables & mysql mysql
  • update user set Password=null where Host='localhost' and User='root';
  • とか、use mysql;
    • update user set password=PASSWORD("ここにパスワードを記述") where User='root';
    • flush privileges; とか

“Can't find file mysql/plugin.frm” when starting up MySQL

原因は、apparmor か、SELinux とのこと。勘弁してほしい。

私の場合、CentOS7でChefのmysql cookbookを使ったところ、SELinuxが対応している /var/lib/mysqlでなく、

CentOS7のsystemdの都合で(私の解釈)/var/lib/mysql-defaultが使われているが、SElinuxが邪魔してMySQL

が動かないという現象。このエラーメッセージじゃわからんだろう。

メモ: SELinuxでただしく設定する方法はたとえばこちら

リモートからアクセスできるようにする

grant all privileges on *.* TO root@leo2.ssc.localdomain;

grant all privileges on *.* TO root@alb_server identified by 'xxxxxx';

flush privileges;

my.cnfの[mysqld]にbind-address= 必要???

mysqld_safeの安全な停止

~/anagix_tools/mysql/bin/mysqladmin -u root shutdown

特定のデータベースのみのバックアップ

$ mysqldump -u root データベース名 > dump.sql

ローカルで動いているMySQLの中で"source_database"から"dest_database"へデータをコピーするには、以下のようにします。

$ mysqldump -u user_name -p -n source_database | mysql -u user_name -p dest_database

-nオプションは、CREATE DATABASEを出力に含めないようにするためのオプションです。これを付けることで、dest_databaseへデータをコピーできるようになります

Mysql::ProtocolError: invalid packet: sequence number mismatch(3 != 1(expected)): SET NAMES 'utf8'

see http://www.redmine.org/issues/5693

uninstall ruby-mysql and install mysql

maybe this is for 4.x version of MySQL, I did not see the error with MySQL 5.5

パスワードの変更

SET PASSWORD = PASSWORD('some password') --- ログインしているユーザの変更

set password for 'username'@'192.168.128.1' = password('pass');