mysqlをwindows10に入れる

C:\mysql-56\bin>mysqld –install mysq56
Service successfully installed.

C:\mysql-56\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.41 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

きた。
eclipseでどうしても必要だと思ったが、半日かかった。

mysql varbinary

BINARY および VARBINARY 型は、CHAR および VARCHAR 型に似ていますが、非バイナリ文字列ではなく、バイナリ文字列を格納します。つまり、それらには文字の文字列ではなく、バイトの文字列が含まれています。これは、それらに文字セットがなく、ソートおよび比較は値の中のバイトの数値に基づいていることを意味します。

可変長バイナリバイト文字列
送られてきたデータをバイナリデータとして格納

CHAR型の特徴的な点は,値を格納された時に,もし文字列がテーブル作成時に指定された文字数よりも短かった場合,文字列の右側の末尾にスペースで補完

mysqlのpasswordを忘れた時

passwordが違うと表示
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

さっぱり覚えていない
ec2の初期パスワードか?
[ec2-user@ ~]$ cat /var/log/mysqld.log

[ec2-user@ ~]$ mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
違うらしい。。

mysqlを止めて、/etc/my.cnfを編集
[ec2-user@ ~]$ sudo service mysqld stop
Stopping mysqld: [ OK ]
[ec2-user@]$ sudo vi /etc/my.cnf

skip-grant-tables を追加

再起動して、-pなしでログイン
[ec2-user@~]$ sudo service mysqld start
Starting mysqld: [ OK ]
[ec2-user@ ~]$ mysql -u root

> UPDATE mysql.user SET authentication_string = PASSWORD(‘new password’) WHERE User = ‘root’ AND Host = ‘localhost’;
> FLUSH PRIVILEGES;

[ec2-user@]$ sudo vi /etc/my.cnf
# skip-grant-tables //コメントアウト

$ sudo service mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
[ec2-user@ ~]$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.22 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

OK!ふう、焦った~

Laravelのカラム作成で使用できるデータ型

increment(‘id’)
binary(‘column’)
boolean(”)
char(”)
date(”)
time(”)
dateTime(”)
double(”)
enum(”)
integer(”)
json(”)
timestamp(”)
timestamps(”)
nullableTimestamps(”)
string(”) …varchar
string(”, )
text(”)

ということは、mysqlのid int primary key auto_incrementはincrement(‘id’)
varcharはstring(”)

あ、つまり、laravelはvarchar(‘n’)は表示する必要ないのね。
update_at、create_atはtimestamps()

tinyintはbooleanのようです。

create table profiles(
 id int primary key auto_increment,
 login_id varchar(30),
 role varchar(50),
 name varchar(20),
 password varchar(30),
 mail varchar(255),
 updated_at datetime,
 updated_person varchar(50)
);

これで行けるかな?
increment(‘id’)
string(‘login_id’)
string(‘role’)
string(‘name’)
string(‘password’)
string(‘mail’)
string(‘test_mail’)
timestamps()
string(‘updated_person’)

create tables

sqlでtableをつくっていく。いずれはconcatで結合する。

mysql> show tables;
+—————–+
| Tables_in_addb |
+—————–+
| account_lists |
| companies_lists |
| documents_lists |
| profiles |
| registers |
+—————–+
5 rows in set (0.05 sec)

– laravelで複数テーブルでやるところまで
– ER図を作れないといけない。
– mysqlだけでなく、oracleも
– concatも

mysqlの日付・時刻型

DATE: YYYY-MM-DD
TIME: HH:MM:SS
DATETIME: YYYY-MM-DD HH:MM:SS
TIMESTAMP: YYYY-MM-DD HH:MM:SS
YEAR: YYYY

なるほど、格納する値によって型も変わってくるのね♪

updated_at(更新日時)などはYYY-MM-DD HH:MM:SSで入力、
ラジオボタンなど選択肢が2択の場合は、tinyint(1)とする。
名前は日本人ならvarchar(20)で十分? まーmiddle nameがありませんからね。
会社名などもvarchar(50)で十分でしょうね。

あら、こう考えると、varchar(255)も殆ど必要なさそうな。。

emailは?
RFC 5321(Simple Mail Transfer Protocol)によると、
-ローカル部(@の前)64オクテット
-ドメイン部(@の後)255オクテット
-全体 256オクテット

よって、varchar(255)あれば十分だそうだ。

ああ、こりゃER図マスターしないとあかんな。。
ところで、 id int primary key auto_incrementって、すべてのテーブルに入れるのか?
例えば、profiles と accountsというtableがあった場合、両方 id int primary key auto_incrementとするのか、profile_id int primary key auto_increment, account_id int primary key auto_increment とした方が望ましいのか…

悩ましい。とりあえず、まずはid int primary key auto_incrementで行こう。

MySQLの文字列型

char 255
varchar 255
tinyblob 255
blob 65535
mediumblob 16777215
longblob 4294967295
tinytext 255
mediumtext 65535
mediumtext 16777215
logintext 4294967295
enum(“”,””…)
set(“”,””,…)

-CHAR型の特徴的な点は,値を格納された時に,もし文字列がテーブル作成時に指定された文字数よりも短かった場合,文字列の右側の末尾にスペースで補完
-VARCHAR型の特徴的な点として,CHAR型と違ってテーブル作成時に指定された文字列よりも短かった場合に,データに合わせた文字列として可変長で保存

こうみると、computer science的にはvarcharの方がメモリの無駄がないように見える。

varcharとtext
行の中身がdataか(varchar)、dataへのポインタか(text)
varchar:文字数で指定(日本語でも、最大65535文字まで入る)
text:byteで指定

あんまりcharやtextのメリットがわからん。。

MySQLの数値型

数値型、文字型、日付・時刻型がある。
ああ、この知識は絶対必要だ。

数値型
TINYINT: -128~127
SMALLINT: -32768~32767
MEDIUMINT: -8388608~8388607
INT: -2147483648~+2147483647
BIGINT: -9223372036854775808~+9223372036854775807
FLOAT(M.D):-3.402823466E+38 ~ -1.175494351E-38,0
DOUBLE(M.D): -1.7976931348623157E+308 ~ -2.2250738585072014E-308
DECIMAL:MとDで変化

よく使用するのはINT, Float, Doubleはよく使用しますね。
tinyint, smallint, mediumintは特殊でしょうか。
使ってみたいです。

mysqld サーバーで使用されるデフォルトのバッファーサイズ

mysqld –verbose –help
Variables (–variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
———————————————————- —————
abort-slave-event-count 0
allow-suspicious-udfs FALSE
archive ON
auto-increment-increment 1
auto-increment-offset 1
autocommit TRUE
automatic-sp-privileges TRUE
avoid-temporal-upgrade FALSE
back-log 80
basedir /usr/
big-tables FALSE
bind-address *
binlog-cache-size 32768
binlog-checksum CRC32
binlog-direct-non-transactional-updates FALSE
binlog-error-action IGNORE_ERROR
binlog-format STATEMENT
binlog-gtid-simple-recovery FALSE
binlog-max-flush-queue-time 0
binlog-order-commits TRUE
binlog-row-event-max-size 8192
binlog-row-image FULL
binlog-rows-query-log-events FALSE
binlog-stmt-cache-size 32768
binlogging-impossible-mode IGNORE_ERROR
blackhole ON
block-encryption-mode aes-128-ecb
bulk-insert-buffer-size 8388608
character-set-client-handshake TRUE
character-set-filesystem binary
character-set-server utf8
character-sets-dir /usr/share/mysql/charsets/
chroot (No default value)
collation-server utf8_general_ci
completion-type NO_CHAIN
concurrent-insert AUTO
connect-timeout 10
console FALSE
datadir /var/lib/mysql/
date-format %Y-%m-%d
datetime-format %Y-%m-%d %H:%i:%s
default-storage-engine InnoDB
default-time-zone (No default value)
default-tmp-storage-engine InnoDB
default-week-format 0
delay-key-write ON
delayed-insert-limit 100
delayed-insert-timeout 300
delayed-queue-size 1000
des-key-file (No default value)
disconnect-on-expired-password TRUE
disconnect-slave-event-count 0
div-precision-increment 4
end-markers-in-json FALSE
enforce-gtid-consistency FALSE
eq-range-index-dive-limit 10
event-scheduler OFF
expire-logs-days 0
explicit-defaults-for-timestamp FALSE
external-locking FALSE
federated ON
flush FALSE
flush-time 0
ft-boolean-syntax + -><()~*:""&| ft-max-word-len 84 ft-min-word-len 4 ft-query-expansion-limit 20 ft-stopword-file (No default value) gdb FALSE general-log FALSE general-log-file /var/lib/mysql/localhost.log group-concat-max-len 1024 gtid-mode OFF help TRUE host-cache-size 279 ignore-builtin-innodb FALSE init-connect init-file (No default value) init-slave innodb ON innodb-adaptive-flushing TRUE innodb-adaptive-flushing-lwm 10 innodb-adaptive-hash-index TRUE innodb-adaptive-max-sleep-delay 150000 innodb-additional-mem-pool-size 8388608 innodb-api-bk-commit-interval 5 innodb-api-disable-rowlock FALSE innodb-api-enable-binlog FALSE innodb-api-enable-mdl FALSE innodb-api-trx-level 0 innodb-autoextend-increment 64 innodb-autoinc-lock-mode 1 innodb-buffer-page ON innodb-buffer-page-lru ON innodb-buffer-pool-dump-at-shutdown FALSE innodb-buffer-pool-dump-now FALSE innodb-buffer-pool-filename ib_buffer_pool innodb-buffer-pool-instances 0 innodb-buffer-pool-load-abort FALSE innodb-buffer-pool-load-at-startup FALSE innodb-buffer-pool-load-now FALSE innodb-buffer-pool-size 134217728 innodb-buffer-pool-stats ON innodb-change-buffer-max-size 25 innodb-change-buffering all innodb-checksum-algorithm innodb innodb-checksums TRUE innodb-cmp ON innodb-cmp-per-index ON innodb-cmp-per-index-enabled FALSE innodb-cmp-per-index-reset ON innodb-cmp-reset ON innodb-cmpmem ON innodb-cmpmem-reset ON innodb-commit-concurrency 0 innodb-compression-failure-threshold-pct 5 innodb-compression-level 6 innodb-compression-pad-pct-max 50 innodb-concurrency-tickets 5000 innodb-data-file-path (No default value) innodb-data-home-dir (No default value) innodb-disable-sort-file-cache FALSE innodb-doublewrite TRUE innodb-fast-shutdown 1 innodb-file-format Antelope innodb-file-format-check TRUE innodb-file-format-max Antelope innodb-file-io-threads 4 innodb-file-per-table TRUE innodb-flush-log-at-timeout 1 innodb-flush-log-at-trx-commit 1 innodb-flush-method (No default value) innodb-flush-neighbors 1 innodb-flushing-avg-loops 30 innodb-force-load-corrupted FALSE innodb-force-recovery 0 innodb-ft-aux-table (No default value) innodb-ft-being-deleted ON innodb-ft-cache-size 8000000 innodb-ft-config ON innodb-ft-default-stopword ON innodb-ft-deleted ON innodb-ft-enable-diag-print FALSE innodb-ft-enable-stopword TRUE innodb-ft-index-cache ON innodb-ft-index-table ON innodb-ft-max-token-size 84 innodb-ft-min-token-size 3 innodb-ft-num-word-optimize 2000 innodb-ft-result-cache-limit 2000000000 innodb-ft-server-stopword-table (No default value) innodb-ft-sort-pll-degree 2 innodb-ft-total-cache-size 640000000 innodb-ft-user-stopword-table (No default value) innodb-io-capacity 200 innodb-io-capacity-max 18446744073709551615 innodb-large-prefix FALSE innodb-lock-wait-timeout 50 innodb-lock-waits ON innodb-locks ON innodb-locks-unsafe-for-binlog FALSE innodb-log-buffer-size 8388608 innodb-log-compressed-pages TRUE innodb-log-file-size 50331648 innodb-log-files-in-group 2 innodb-log-group-home-dir (No default value) innodb-lru-scan-depth 1024 innodb-max-dirty-pages-pct 75 innodb-max-dirty-pages-pct-lwm 0 innodb-max-purge-lag 0 innodb-max-purge-lag-delay 0 innodb-metrics ON innodb-mirrored-log-groups 0 innodb-monitor-disable (No default value) innodb-monitor-enable (No default value) innodb-monitor-reset (No default value) innodb-monitor-reset-all (No default value) innodb-numa-interleave FALSE innodb-old-blocks-pct 37 innodb-old-blocks-time 1000 innodb-online-alter-log-max-size 134217728 innodb-open-files 0 innodb-optimize-fulltext-only FALSE innodb-page-size 16384 innodb-print-all-deadlocks FALSE innodb-purge-batch-size 300 innodb-purge-threads 1 innodb-random-read-ahead FALSE innodb-read-ahead-threshold 56 innodb-read-io-threads 4 innodb-read-only FALSE innodb-replication-delay 0 innodb-rollback-on-timeout FALSE innodb-rollback-segments 128 innodb-sort-buffer-size 1048576 innodb-spin-wait-delay 6 innodb-stats-auto-recalc TRUE innodb-stats-include-delete-marked FALSE innodb-stats-method nulls_equal innodb-stats-on-metadata FALSE innodb-stats-persistent TRUE innodb-stats-persistent-sample-pages 20 innodb-stats-sample-pages 8 innodb-stats-transient-sample-pages 8 innodb-status-file FALSE innodb-status-output FALSE innodb-status-output-locks FALSE innodb-strict-mode FALSE innodb-support-xa TRUE innodb-sync-array-size 1 innodb-sync-spin-loops 30 innodb-sys-columns ON innodb-sys-datafiles ON innodb-sys-fields ON innodb-sys-foreign ON innodb-sys-foreign-cols ON innodb-sys-indexes ON innodb-sys-tables ON innodb-sys-tablespaces ON innodb-sys-tablestats ON innodb-table-locks TRUE innodb-thread-concurrency 0 innodb-thread-sleep-delay 10000 innodb-tmpdir (No default value) innodb-trx ON innodb-undo-directory . innodb-undo-logs 128 innodb-undo-tablespaces 0 innodb-use-native-aio TRUE innodb-use-sys-malloc TRUE innodb-write-io-threads 4 interactive-timeout 28800 join-buffer-size 262144 keep-files-on-create FALSE key-buffer-size 8388608 key-cache-age-threshold 300 key-cache-block-size 1024 key-cache-division-limit 100 language /usr/share/mysql/ large-pages FALSE lc-messages en_US lc-messages-dir /usr/share/mysql/ lc-time-names en_US local-infile TRUE lock-wait-timeout 31536000 log-bin (No default value) log-bin-index (No default value) log-bin-trust-function-creators FALSE log-bin-use-v1-row-events FALSE log-error log-isam myisam.log log-output FILE log-queries-not-using-indexes FALSE log-raw FALSE log-short-format FALSE log-slave-updates FALSE log-slow-admin-statements FALSE log-slow-slave-statements FALSE log-tc tc.log log-tc-size 24576 log-throttle-queries-not-using-indexes 0 log-warnings 1 long-query-time 10 low-priority-updates FALSE lower-case-table-names 0 master-info-file master.info master-info-repository FILE master-retry-count 86400 master-verify-checksum FALSE max-allowed-packet 4194304 max-binlog-cache-size 18446744073709547520 max-binlog-dump-events 0 max-binlog-size 1073741824 max-binlog-stmt-cache-size 18446744073709547520 max-connect-errors 100 max-connections 151 max-delayed-threads 20 max-digest-length 1024 max-error-count 64 max-heap-table-size 16777216 max-join-size 18446744073709551615 max-length-for-sort-data 1024 max-prepared-stmt-count 16382 max-relay-log-size 0 max-seeks-for-key 18446744073709551615 max-sort-length 1024 max-sp-recursion-depth 0 max-tmp-tables 32 max-user-connections 0 max-write-lock-count 18446744073709551615 memlock FALSE metadata-locks-cache-size 1024 metadata-locks-hash-instances 8 min-examined-row-limit 0 multi-range-count 256 myisam-block-size 1024 myisam-data-pointer-size 6 myisam-max-sort-file-size 9223372036853727232 myisam-mmap-size 18446744073709551615 myisam-recover-options OFF myisam-repair-threads 1 myisam-sort-buffer-size 8388608 myisam-stats-method nulls_unequal myisam-use-mmap FALSE net-buffer-length 16384 net-read-timeout 30 net-retry-count 10 net-write-timeout 60 new FALSE old FALSE old-alter-table FALSE old-passwords 0 old-style-user-limits FALSE open-files-limit 1024 optimizer-prune-level 1 optimizer-search-depth 62 optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on optimizer-trace optimizer-trace-features greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on optimizer-trace-limit 1 optimizer-trace-max-mem-size 16384 optimizer-trace-offset -1 partition ON performance-schema TRUE performance-schema-accounts-size -1 performance-schema-consumer-events-stages-current FALSE performance-schema-consumer-events-stages-history FALSE performance-schema-consumer-events-stages-history-long FALSE performance-schema-consumer-events-statements-current TRUE performance-schema-consumer-events-statements-history FALSE performance-schema-consumer-events-statements-history-long FALSE performance-schema-consumer-events-waits-current FALSE performance-schema-consumer-events-waits-history FALSE performance-schema-consumer-events-waits-history-long FALSE performance-schema-consumer-global-instrumentation TRUE performance-schema-consumer-statements-digest TRUE performance-schema-consumer-thread-instrumentation TRUE performance-schema-digests-size -1 performance-schema-events-stages-history-long-size -1 performance-schema-events-stages-history-size -1 performance-schema-events-statements-history-long-size -1 performance-schema-events-statements-history-size -1 performance-schema-events-waits-history-long-size -1 performance-schema-events-waits-history-size -1 performance-schema-hosts-size -1 performance-schema-instrument performance-schema-max-cond-classes 80 performance-schema-max-cond-instances -1 performance-schema-max-digest-length 1024 performance-schema-max-file-classes 50 performance-schema-max-file-handles 32768 performance-schema-max-file-instances -1 performance-schema-max-mutex-classes 200 performance-schema-max-mutex-instances -1 performance-schema-max-rwlock-classes 40 performance-schema-max-rwlock-instances -1 performance-schema-max-socket-classes 10 performance-schema-max-socket-instances -1 performance-schema-max-stage-classes 150 performance-schema-max-statement-classes 168 performance-schema-max-table-handles -1 performance-schema-max-table-instances -1 performance-schema-max-thread-classes 50 performance-schema-max-thread-instances -1 performance-schema-session-connect-attrs-size -1 performance-schema-setup-actors-size 100 performance-schema-setup-objects-size 100 performance-schema-users-size -1 pid-file /var/lib/mysql/localhost.pid plugin-dir /usr/lib64/mysql/plugin/ port 3306 port-open-timeout 0 preload-buffer-size 32768 profiling-history-size 15 query-alloc-block-size 8192 query-cache-limit 1048576 query-cache-min-res-unit 4096 query-cache-size 1048576 query-cache-type OFF query-cache-wlock-invalidate FALSE query-prealloc-size 8192 range-alloc-block-size 4096 read-buffer-size 131072 read-only FALSE read-rnd-buffer-size 262144 relay-log (No default value) relay-log-index (No default value) relay-log-info-file relay-log.info relay-log-info-repository FILE relay-log-purge TRUE relay-log-recovery FALSE relay-log-space-limit 0 replicate-same-server-id FALSE report-host (No default value) report-password (No default value) report-port 0 report-user (No default value) rpl-stop-slave-timeout 31536000 safe-user-create FALSE secure-auth TRUE secure-file-priv /var/lib/mysql-files/ server-id 0 server-id-bits 32 show-old-temporals FALSE show-slave-auth-info FALSE simplified-binlog-gtid-recovery FALSE skip-grant-tables FALSE skip-name-resolve FALSE skip-networking FALSE skip-show-database FALSE skip-slave-start FALSE slave-allow-batching FALSE slave-checkpoint-group 512 slave-checkpoint-period 300 slave-compressed-protocol FALSE slave-exec-mode STRICT slave-load-tmpdir /tmp slave-max-allowed-packet 1073741824 slave-net-timeout 3600 slave-parallel-workers 0 slave-pending-jobs-size-max 16777216 slave-rows-search-algorithms TABLE_SCAN,INDEX_SCAN slave-skip-errors (No default value) slave-sql-verify-checksum TRUE slave-transaction-retries 10 slave-type-conversions slow-launch-time 2 slow-query-log FALSE slow-query-log-file /var/lib/mysql/localhost-slow.log socket /var/lib/mysql/mysql.sock sort-buffer-size 262144 sporadic-binlog-dump-fail FALSE sql-mode NO_ENGINE_SUBSTITUTION ssl FALSE ssl-ca (No default value) ssl-capath (No default value) ssl-cert (No default value) ssl-cipher (No default value) ssl-crl (No default value) ssl-crlpath (No default value) ssl-key (No default value) stored-program-cache 256 super-large-pages FALSE symbolic-links FALSE sync-binlog 0 sync-frm TRUE sync-master-info 10000 sync-relay-log 10000 sync-relay-log-info 10000 sysdate-is-now FALSE table-definition-cache 615 table-open-cache 431 table-open-cache-instances 1 tc-heuristic-recover COMMIT temp-pool TRUE thread-cache-size 9 thread-concurrency 10 thread-handling one-thread-per-connection thread-stack 262144 time-format %H:%i:%s timed-mutexes FALSE tmp-table-size 16777216 tmpdir /tmp transaction-alloc-block-size 8192 transaction-isolation REPEATABLE-READ transaction-prealloc-size 4096 transaction-read-only FALSE updatable-views-with-limit YES validate-user-plugins TRUE verbose TRUE wait-timeout 28800 To see what values a running MySQL server is using, type 'mysqladmin variables' instead of 'mysqld --verbose --help'. 2018-09-19 21:19:42 11464 [Note] Binlog end 2018-09-19 21:19:42 11464 [Note] Shutting down plugin 'CSV' 2018-09-19 21:19:42 11464 [Note] Shutting down plugin 'MyISAM' なんじゃこりゃ