MySQL8 で root のパスワードを設定する

MySQLをインストールした後、rootのパスワードを設定しようとして躓いたので…
いろんなとこに書いてある

mysql > update mysql.user set password=password('パスワード') where user = 'root';
これがエラーになり、

mysql > ALTER USER 'root'@'localhost' identified By 'パスワード';
これがなぜか

mysql> ALTER USER 'root'@'localhost' identified by 'パスワード';
Query OK, 0 rows affected (0.00 sec)

設定できてるようで確認すると

何も設定できてないようです。

PASSWORD(”) はMySQL5.7では廃止されているそうです。
Alter構文でも設定できない理由がわからない…

下記で解決しました。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'パスワード';

caching_sha2_password はMySQLの認証プラグインだそうです。
https://blog.s-style.co.jp/2018/05/1807/

auto_incrementの初期値をあとから設定する

テストデータとして、auto_incrementの設定してあるカラムへ
大きい値のデータを手動で入力したら、自動で振られる番号がその
続きからになってしまいました。

auto_incrementの初期値は

show table status from [データベース名] like '[テーブル名]'

から確認できます。

初期値を設定するには↓

alter table [テーブル名] auto_increment=[初期値];

設定しようとした値がカラム内の現在の最高値以下だと、変更は反映されず、エラー メッセージ
も表示されません。

ヒヤッとしました。。。

my.cnfを設定する

設定の確認↓

mysql> status
--------------
mysql  Ver 14.7 Distrib 4.1.22, for redhat-linux-gnu (x86_64) using readline 4.3
|
|
|
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
|
|
|
--------------

インストール直後の文字コードを見ると”latin1″とかになっているので、
コレをunicodeに変更します。

/etc とかにあるmy.cnfを設定。
それぞれの項目に以下を追加します。

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
[client]
default-character-set = utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8

mysqldを再起動。

#service mysqld restart

mysqlを起動して設定を確認すると。。。

mysql> status
--------------
mysql  Ver 14.7 Distrib 4.1.22, for redhat-linux-gnu (x86_64) using readline 4.3
|
|
|
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
|
|
|
mysql>

http://d.hatena.ne.jp/shimonoakio/20080129/1201609465
http://tod.cocolog-nifty.com/diary/2005/12/xamppphpmysql_6279.html

my.cnfを設定する

設定の確認↓

mysql> status
--------------
mysql  Ver 14.7 Distrib 4.1.22, for redhat-linux-gnu (x86_64) using readline 4.3
|
|
|
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
|
|
|
--------------

インストール直後の文字コードを見ると”latin1″とかになっているので、
コレをunicodeに変更します。

/etc とかにあるmy.cnfを設定。
それぞれの項目に以下を追加します。

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
[client]
default-character-set = utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8

mysqldを再起動。

#service mysqld restart

mysqlを起動して設定を確認すると。。。

mysql> status
--------------
mysql  Ver 14.7 Distrib 4.1.22, for redhat-linux-gnu (x86_64) using readline 4.3
|
|
|
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
|
|
|
mysql>

http://d.hatena.ne.jp/shimonoakio/20080129/1201609465
http://tod.cocolog-nifty.com/diary/2005/12/xamppphpmysql_6279.html