MySQL

MySQL5.7 の truncate テーブルでのバグ

truncate が止まる。system lock で止まって以下が出る。 ... ------------------------------------- INSERT BUFFER AND ADAPTIVE HASH INDEX ------------------------------------- ... InnoDB: ###### Diagnostic info printed to the standard error st…

MySQLのテーブル情報一覧

コレで確認。INFORMATION_SCHEMA を探せばいろいろ何とかなりそう。 SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db_name';

Mysql 5.7 で 767 byte 以上のインデックスが貼れた

longtext にインデックスを貼ろうとしていた。 alter table `table` add index `index_name` (`name`(256)); 以下がでなかった Specified key was too long; max key length is 767 bytes なるほど mysql> SHOW GLOBAL VARIABLES LIKE 'innodb_large_prefix%…

MySQL のテーブル更新情報

information_schema.tables に色々情報詰まってそう mysql> SELECT TABLE_NAME,UPDATE_TIME FROM information_schema.tables WHERE TABLE_SCHEMA = 'dbname'; +---------------------+---------------------+ | TABLE_NAME | UPDATE_TIME | +---------------…

--super-read-only の時に、MySQLをupdateする方法

mysql> CREATE DATABASE `test` DEFAULT CHARSET utf8mb4; ERROR 1290 (HY000): The MySQL server is running with the --super-read-only option so it cannot execute this statement SET GLOBAL super_read_only= 0;

MySQL のトランザクション 消化ステータス確認

KILLED のプロセスが transaction 掴んで焦った話。KILLED を消すためにmysqldを強制終了すると、dead lock が発生するのでやめたほうがいい。 以下のメッセージが出て追加deleteができなかった。。 transaction mysql Lock wait timeout exceeded; try rest…

MySQL の admin user以外で、ログインできなかった話

管理者権限のないuserでログインするとできなかった。 どうやら、MySQL5.7では、plugin を mysql_native_password にしないとパスワードなしログインはできないデフォルトらしい。 $ mysql -uroot ERROR 1698 (28000): Access denied for user 'root'@'local…

MySQLのレプリケーションが遅延した場合

レプリケーション遅延 まずは、 show slave statusで Seconds_Behind_Master と Slave*Runningを確認する。 どれくらい遅延しているか確認できる。 slave1 [localhost] {msandbox} ((none)) > show slave status\G *************************** 1. row *****…

思い出したように CentOS7 に MySQL5.7 をインストールした

yum remove mysql-server mysql-libs mysql-devel mysql* rm -rf /var/lib/mysql/ yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm yum-config-manager --disable mysql80-community yum-config-manager --enable mys…

Django の models に対応したテーブルを MySQL から grep する方法

以下のコマンドで、取り出す。 mysql -uroot -N information_schema -e "select table_name from tables where table_schema = 'tablename' and table_name like 'prefix_%'" > table.txt