41から始めました

文字通り41歳から始めたブログです。DB(MySQL)を使ってお仕事してるので、DB周りの話を中心に最近始めたこととかをTwitterのノリで書いています。なお、本サイトにおいて示されている見解は私個人の見解であり、所属団体や組織を代表するものではありません。

MDSでダンプ・インポートするときの小ネタ

大した話では無いんですが、ドキュメントやヘルプ見てもよくわからないと思うので共有です。

エクスポート時にバケット内のフォルダ配下にエクスポートしたい場合

例えばdumpSchemas()ならこんな風に書きます。

JS > util.dumpSchemas(["test"], "home/test", {"osBucketName": "bucket-xxxxx", "osNamespace": "xxxxxx", ...)

大事なのは2個目の"home/test"のところ。

osBucketNameで指定したbucket-xxxxxのところに home > test というフォルダができ、その下にエクスポートファイル群が格納されます。

ここで/home/testなんてやると / > home > test という階層になるので注意w

インポートをバケット内の特定のフォルダ配下から行いたい場合

インポート時も同じような感じ。

JS > util.loadDump("home/test", {threads: 8, osBucketName: "bucket-xxxxx", osNamespace: "xxxxxx"...})

includeTablesやexcludeTablesでデータベース名も一緒に指定したい

loadDump()でexcludeTablesとincludeTablesというオプションがあります。

includeTablesはダンプファイルから指定されたテーブルのみをロードし、 excludeTablesは指定したテーブルをインポートから除外するものです。

しかし、

JS > util.loadDump("home/20220310", {threads: 8, osBucketName: "bucket-xxxxx", osNamespace: "xxxxxx", includeTables:["test.t1"]})

と書くと上手くインポートされません。

ERROR: [Worker000] While executing DDL script for `test`.`t1`: Unknown database 'test'
ERROR: Aborting load...

が出たり、事前にtestデータベースを作っていても対象のt1テーブルは作成されないままです。

この場合、データベース名とテーブル名それぞれにバッククォートをつけてあげてください。

JS > util.loadDump("home/20220310", {threads: 8, osBucketName: "bucket-xxxxx", osNamespace: "xxxxxx", includeTables:["`test`.`t1`"]})

ドキュメント

MySQL :: MySQL Shell 8.0 :: 8.5 インスタンスダンプユーティリティ、スキーマダンプユーティリティおよびテーブルダンプユーティリティ

MySQL :: MySQL Shell 8.0 :: 8.6 ダンプロードユーティリティ

8.0のテーブルを5.7のFEDERATEDテーブルから参照するとエラー

タイトルの件

MySQL8.0に作られたテーブルをMySQL5.7のFEDERATEDテーブルから参照すると以下のようなエラーが出る場合があります。

ERROR 1429 (HY000): Unable to connect to foreign data source: SSL connection error: socket layer receive error
ERROR 1429 (HY000): Unable to connect to foreign data source: SSL connection error: unknown error number
ERROR 2026 (HY000): SSL connection error: socket layer receive error

オチから言うと、これもまたcaching_sha2_passwordによる影響です。

ドキュメント参照

ドキュメントのcaching_sha2_password-Compatible クライアントおよびコネクタを見てみると、以下のような記載があります。

caching_sha2_password について知るために更新されたクライアントまたはコネクタが使用可能な場合は、caching_sha2_password をデフォルトの認証プラグインとして構成された MySQL 8.0 サーバーに接続するときに互換性を確保するための最善の方法です。

次のクライアントおよびコネクタは、caching_sha2_password をサポートするようにアップグレードされています:

  • MySQL 8.0 (8.0.4 以上) の libmysqlclient クライアントライブラリ。 mysql や mysqladmin などの標準 MySQL クライアントは libmysqlclient ベースであるため、互換性もあります。

  • MySQL 5.7 (5.7.23 以上) の libmysqlclient クライアントライブラリ。 mysql や mysqladmin などの標準 MySQL クライアントは libmysqlclient ベースであるため、互換性もあります。

つまり、5.7.22以下(正確には8.0.3以下も含むが、使う人いないだろうし)のMySQL ServerでFEDERATEDテーブルを作った場合、そこから8.0のテーブルを参照時にcaching_sha2_passwordの影響でエラーが出ます。

回避方法

以下のいずれかになります。

  • 接続ユーザーをmysql_native_password認証に変更する
  • MySQL 5.7.22以下のMySQL Serverを5.7.23以上にアップグレードする(こっちのほうがbetter)

セキュリティ的にmysql_native_password認証を使うのをお勧めするのもなあ…と思いつつ、でも、既存環境をできるだけいじれない人はしょうがないですね。

その場合はFEDERATEDテーブルを作り直す必要があります。

アップグレードの場合は敷居高いかもしれませんが、安全に使うためにはご検討ください。

レプリケーションのセットアップ(非GTID)

レプリケーションのセットアップ(非GTID)

以下の手順で行う

  1. ソース(マスター)側の設定
    • server_idの設定
    • log_bin(バイナリログ)の有効化
    • レプリカ(スレーブ)接続用ユーザ作成
  2. レプリカ(スレーブ)へデータコピー
    • ソースでダンプ取得
    • ソースからレプリカへファイルコピー
    • レプリカにインポート
  3. レプリカ(スレーブ)側の設定

ソース(マスター)側の設定

server_idの設定

my.cnfに server_id=1 などを追記して再起動

log_bin(バイナリログ)の有効化

my.cnfに log_bin を追記して再起動

レプリカ(スレーブ)接続用ユーザ作成

mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'Repl_pass';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

(REPLICATION SLAVE権限は相変わらずSLAVEって言ってるのがなんだかなーとは思うが…)

MySQL :: MySQL 8.0 リファレンスマニュアル :: 6.2.2 MySQL で提供される権限

レプリカ(スレーブ)へデータコピー

ソースでダンプ取得

$ mysqldump --user=root --password=xxxx  --single-transaction --master-data=2 --flush-logs --all-databases> /tmp/mysql_dump.sql

トリガーや、ストアドなどもつけるなら --triggers --routines --events オプションも入れとく。

ソースからレプリカへファイルコピー

もしくはダンプ時にリモート取得でもOK

レプリカにインポート

$ mysql --user=root --password=xxxx < /tmp/mysql_dump.sql

レプリカ(スレーブ)側の設定

server_idの設定

my.cnfに server_id=2 などを追記して再起動

レプリケーションの設定

8.0.22までと23以降でコマンドが異なる。

MySQL 8.0.22以前

mysql> CHANGE MASTER TO
  MASTER_HOST='source.example.com',
  MASTER_USER='repl',
  MASTER_PASSWORD='Repl_pass',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='source-bin.001',
  MASTER_LOG_POS=4,
  MASTER_CONNECT_RETRY=10;

詳しくはここ

MySQL 8.0.23以降

mysql> CHANGE REPLICATION SOURCE TO
  SOURCE_HOST='source.example.com',
  SOURCE_USER='repl',
  SOURCE_PASSWORD='Repl_pass',
  SOURCE_PORT=3306,
  SOURCE_LOG_FILE='source-bin.001',
  SOURCE_LOG_POS=4,
  SOURCE_CONNECT_RETRY=10;

詳しくはここ

レプリケーションの開始

MySQL 8.0.22以前

mysql> START SLAVE;

MySQL 8.0.23以降

mysql> START REPLICA;

詳しくはここ

レプリケーション確認

MySQL 8.0.22以前

mysql> SHOW SLAVE STATUS\G

MySQL 8.0.23以降

mysql> SHOW REPLICA STATUS\G

Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection. エラーが出てたらとりあえず一回replユーザーでつないどけばOK。

$ mysql -urepl -pRepl_pass -h127.0.0.1 -P3306

MySQL8.0を再起動するとアプリからつながらなくなる理由 - 41から始めました

で根本対応しておくのがベター。

レプリケーションステートメント

その他色々やりたい場合はここから探す

MySQL :: MySQL 8.0 リファレンスマニュアル :: 13.4 レプリケーションステートメント

オプティマイザトレースの使い方

オプティマイザトレースの使い方

オプティマイザトレースの使い方は以下の通り

  1. オプティマイザトレースを有効にする
  2. 解析したいクエリの実行
  3. トレースの表示

1. オプティマイザトレースを有効にする

mysql> SET optimizer_trace='enabled=on';

ちなみにSET GLOBALにするとそのセッションでは無効なので注意。

2. 解析したいクエリの実行

mysql> SELECT ... FROM xxx WHERE ..... ;

処理に時間がかかるようなクエリならEXPLAINでもOK

mysql> EXPLAIN SELECT ... FROM xxx WHERE ..... ;

3. トレースの表示

mysql> SELECT * FROM information_schema.optimizer_trace\G;

MySQL5.6でsysスキーマを使う方法

MySQL5.6でもsysスキーマ使いたいなと思う人へ

もう新しいバージョンも出ないMySQL5.6

でも、愛着があって(?)まだまだ使いたいという人へささやかなプレゼントです。

sysスキーマMySQL内部の実行内容を把握するのに便利なビューやストアドなどが入っていて便利なのはMySQL5.7や8.0を使っていて知っている人も多いでしょう。

でも、5.7.6以前を使っている人、主に5.6を使っている人はinformation_schemaやperformance_schemaを起動してでなんとかするしか無かったりします。

そんなあなたもsysスキーマが使えるようになります。

インスコの仕方

mysql/mysql-sysから取得

まずはgithubから対象をゲットしましょう。

自分はgit cloneで落としましたが、gitをインストールしてないのであればZIP形式でも落とせます。

$ git clone https://github.com/mysql/mysql-sys.git
Cloning into 'mysql-sys'...
remote: Enumerating objects: 3009, done.
remote: Total 3009 (delta 0), reused 0 (delta 0), pack-reused 3009
Receiving objects: 100% (3009/3009), 1.18 MiB | 4.91 MiB/s, done.
Resolving deltas: 100% (1769/1769), done.

MySQL Server 5.6に接続し、インストール

MySQLに接続し、source ./sys_56.sqlを実行するだけで完了です。

$ cd mysql-sys/
$ mysql -uroot -pxxxxx -h127.0.0.1 -P5650
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.50-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

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.

(root@127.0.0.1) [(none)]> source ./sys_56.sql
Query OK, 0 rows affected (0.00 sec)
...
Query OK, 0 rows affected (0.00 sec)

(root@127.0.0.1) [sys]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.00 sec)

はい、できました。

使い方とか

GitHub - mysql/mysql-sys: The MySQL sys schema を見たり、 MySQL :: MySQL 8.0 リファレンスマニュアル :: 28 MySQL sys スキーマなどが参考になるでしょう。

但し、これで入れたsysスキーマはバージョン的に5.7や8.0のそれと同じというわけではありません。

そのため、一部オブジェクトや情報が取得されていないということもありますが、そのへんはご勘弁を。

(root@127.0.0.1) [sys]> select sys_version from sys.version;
+-------------+
| sys_version |
+-------------+
| 1.5.1       |
+-------------+
1 row in set (0.00 sec)

来年も良いMySQL生活をエンジョイしてください!

ではでは。

【小学校受験】あなたのお子さんは小学校受験をするべきか?

小学校受験をやるべきか?

あくまで個人的な意見ですが、多くのお子さん、ご家族はやる必要は無いと思ってます。

いきなりですが、僕はそう思ってます。

お前、やっとるやんけ!って言われると思いますが、うちも妻がしつこく言ってこなければやらないつもりでした。

ごく普通の収入の平凡な家庭の子供が、時間やお金を大量に使って、無理をしてまでするもんでは無いです。

それでも小学校受験をしたい・させたいなら

どういう条件の家庭が小学校受験に向いている、やったほうが良いかと言うと、

  • 片方の親だけで収入が1000万(できれば1500万)超える
  • 奥さんは専業主婦or夫が専業主夫
  • 親がキレにくい性格(じっくり成長を見守れる)
  • 子供が早生まれではない。できれば4月から7月に生まれている
  • 子どもが双子や三つ子ではない
  • 子供は保育園ではなく、幼稚園に行かせている
  • 2年から3年間塾に行かせ続ける経済力と時間が親にある
  • 親が子供にしつけをしっかりしている自信がある
  • 受験をする子供に兄弟・姉妹がいる
  • 子供に寝る前に絵本を読む習慣がある
  • 家の近くに小学校受験専門の塾が複数ある
  • 親もしくは親類に政治家等がいる or 学校に縁故がある(コネ)
  • 子供の性格・趣味趣向に向いている小学校がある
  • 夫婦間で小学校受験について話し合え、受ける学校について一緒に調べることができる
  • 何のために小学校受験をさせるのか、明確な目的がある

あたりだと思います。

それぞれがチェックリストのようなもので、無いと小学校受験の障壁は1段ずつ上がると思ってください。(コネがあれば別かな)

本当はもっとあるかもしれませんし、間違ってるところもあるかもしれませんが、思いつくところで個人が書いているのでご容赦下さい。

よく、小学校受験は格安にできる!とか、年数をかけずにできるとか、共働きでもできるとか書いてる本ありますけど、

あれらが全部嘘とは言いませんが誇張してるし、努力がどれだけ必要か隠されてると思ってます。

実際、小学校受験をされている親御さんもお子さんもみんな一生懸命ですし、熱量は半端ないです。

格安にするなら塾に行かないので、テクニックを親が持っている必要があります(初受験なら普通無い)。

年数をかけないというのは普段の生活からきちんとそれに向けた準備をしていないといけないので、結局嘘みたいなもんです。

共働きだと、仕事が家庭の時間を使う時があるので両方が忙しい時は難しくなります。

学校も共働きを敬遠するところありますからね(表向きは大丈夫と言っておきながら、中に入るとほとんどいないみたいな)

というわけで、上記のチェックが全然当てはまらないのであれば、気軽な気持ちではやらないほうが身のためです。

片方の親だけで収入が1000万(できれば1500万)超える

最近、パワーカップルとか言われる、世帯収入が1000万を超えてくる様な夫婦は結構多いと思いますが、小学校受験ではそれではダメです。

小学校受験では親は子供の塾通いや勉強を見てやる必要があります。

どうしても『時間』というものが重要です。

そのため、しっかりと片方の親がつく必要があるので、両方で1000万ではなく、片方で1000万超えをしないと色々なひずみが生まれやすいのが現状です。

奥さんは専業主婦or夫が専業主夫

これについては既に前述で理由はほとんど語られています。

あと、夫婦両方で見ると、教え方等でもめて、子供が混乱する元です(うちがそうでした)

たとえ、親が理不尽だったり、無意味、無駄が多い、下手な教え方をしていたとしても、片方の親に任せたほうが子供としては慣れもあるので良いと思います。

(そんな妻や夫を持ったあなたのガチャ運が悪いと思って諦めてください)

親がキレにくい性格(じっくり成長を見守れる)

勉強を教える親がキレやすい場合はやめたほうが良いです。

家庭内に不穏な空気がガッツリ漂います。

幼児なんて集中力が続くわけもなく、最初はすぐに駄々をこねます。

それを力でねじ伏せると後々困るのは結局自分たちです。

教えるのが向いてない、子供の成長をじっくり見守れない人はやるべきじゃないと思います。

(塾で勉強ができなかったと子供を塾で怒鳴ってるお母さん見かけましたが、みっともないですアレは)

子供が早生まれではない。できれば4月から7月に生まれている

幼児の月齢はとてつもなく影響します。

最大1年近く差がある子が同じ土俵で戦うのですが、戦力が違って見えます。

私立でも月齢考査があると言っている学校でも、結局のところは優秀な子が欲しいので、

月齢の違う子達に同じ試験を受けさせて、同じ点数なら月齢が低い子を取るというくらいのものです。

明確に月齢考査をしているのは国立くらいですね。

ましてや月齢考査が無い学校の場合は圧倒的に不利です。

月齢考査なんてカトリック系は大体ありません。

そのため、4月~7月くらいの子は小学校受験に向いていますが、早生まれは私立では特に期待せずにいたほうが良いと思います。

4月~7月くらいの子は年長の6月~8月くらいには既に完成しています。

それに比べて早生まれの子はその子らと同じように勉強しても10月~12月に完成すると言われ、下手すれば試験に間に合いません。

そういう不利を抱えて受けるのが小学校受験であるため、早生まれの子が受験する場合は「結果」よりも「過程」を見るくらいの気持ちで臨んだほうが良いでしょう。

(早生まれで難関校受かってる子は本当に親も子も相当努力してて凄いです)

子どもが双子や三つ子ではない

よく双子や三つ子の子が受験しているのを見かけました。

全員同じ学校や、希望の学校に受かればいいのですが、そうじゃない場合が心配です。

最初は良くても、大きくなるにつれて与える影響も大きくなる可能性があります。

うちは一人っ子なので別に気にしませんでしたが、余計なお世話と思いつつ、難関校は目指さないほうが良いんじゃないかと思ってます。

子供は保育園ではなく、幼稚園に行かせている

保育園が悪い、幼稚園がカリキュラム的に素晴らしいというわけでは無いです。

保育園でもしっかり文字やかずの概念を教え、物語を読んだり、劇をして他の子との関りを密接にしているところもあります。

ここで言いたいのは、勉強時間の捻出です。

保育園という事は基本的に早い時間に両親が迎えに行けない≒共働きの可能性が非常に高いと考えます。

そういう意味では前の二つの話に密接に関係しています。

幼稚園に行かせている親≒前述の2つの可能性が高いです。

(たまにこれは祖父母を使うパターンがありますが、祖父母等は勉強を教えるのに向いてるかと言われるとどうでしょうねえ…)

2年から3年間塾に行かせ続ける経済力と時間が親にある

上記の通りですので、あまり細かいことは言いませんが、子供の面から見ると、難関校に行かせたいのであれば1年では少し足りません。

勉強自体はおそらく5か月もあれば完成します。中学・高校受験、大学受験と比べると短いですが、範囲も受ける学校を絞れば大したことないので、そんなものだと思います。

むしろ、手先の器用さ、作業スピード、お行儀、受け答え、運動神経、絵画の技術のようなもののほうが時間がかかるので、これの準備期間が必要です。

これは早ければ早いほどいいので、2年から3年かけて勉強との負荷分散をすることでコネの無い人には安定した受験が可能となります。

年少、遅くとも年中の初めから塾通い

過去問を解く力みたいなのはぶっちゃけ5か月あれば間に合うなと今回娘の受験を通じて思いました。

でも、本番にはそれだけでは足りない要素があります。それはお行儀やある場面でどうすればいいか?という考える力の部分です。

小学校受験では面接が大きな比重を占めます。

恐らくほとんどの学校が減点方式です。

そして、行動観察と言う自由に行動させて、どういう事をしたり言ったりするのかを見る試験があります。

それらは普段の家庭でのしつけも大事ですが、子供たちとのかかわりの中でしか身につかないものも多くあります。

「〇〇の時はxxするのよ!」というのを教えても教えても、じゃあこのパターンは?というのが出てきます。

早めに塾に通うことでこの辺を指摘してくれます。(私立の幼稚園なんかもこの辺は指摘してくれるようですね)

親が子供にしつけをしっかりしている自信がある

小学校受験では勉強ができることよりも、お行儀のよさを見るところが多いです。

正直、この年齢の子にそこまで必要か?という考えの人もいるかと思います。

でも、その年齢でもTPOがわきまえられる子が小学校としては欲しくて、できないんなら公立へどうぞ、と彼らは思っています。

しつけに自信が無い場合は塾等で身につけていく必要があります。(カトリックだと筆記より重視)

受験をする子供に兄弟・姉妹がいる

これは確実にそうとは言えないのですが、兄弟・姉妹がいると家の中で既に行動観察のようなものを毎日経験しているので強いと思います。

長男・長女の場合は下に対して乱暴にしてたりすると親が叱るため、優しくした方が大人受けがいいんだなと理解しますし、

下はそれを見て、ああ、こういうのはダメだし、上と仲良くする方法を普段から模索してるので、同年代の子と調整するのもそれほど苦にしません。

逆に一人っ子はこの辺の人付き合いというものがこの年代ではかなり苦手な子が多いと思います(うちもそうでした)

子供に寝る前に絵本を読む習慣がある

小学校受験でよくある試験内容に、話の記憶というものがあります。

それはある物語を読んで、その内容をどれだけ覚えているかというものです。

正直大人でも厳しい問題が多いのですが、子どもの脳は大人よりもスポンジのようにそういう話を吸収するので思った以上に記憶しています。

ただ、普段からそういう話を聞いているのと、そうでないのでは実力に大きな差が出ます。

そのため、普段から読み聞かせをしている様な家庭でないとこの課題は厳しいと思います。

家の近くに小学校受験専門の塾が複数ある

小学校受験の場合、子供と先生の相性と言うものが非常に重要です。

先生に対して嫌いという感情があると、それだけで勉強したくない、塾に行きたくないとなり、思うようにはかどりません。

また、自分たちのような場合(塾の教え方が雑、子供のためになってない)もあるので、いざとなったらすぐ移れるようにしたいものです。

移動距離があると乗り物に乗りっぱなしでも子供が疲れてしまうので、家にはドアツードアで30分以内が良いと思います。

親もしくは親類に政治家等がいる or 学校に縁故がある(コネ)

他があてはまらなくてもこれがあれば最強ですw

ちなみにコネって悪いものだと僕は思ってないです。むしろ、それはその人やその人の先祖の努力の結晶ですから使えるなら使ったほうが良いと思ってます。

それにWIN x WINの関係になると思うからそういうのを学校も認めるんだと思うし、別にいいでしょう。

国立がそういうものを排除するために抽せんというものを使っているのは知っていますが、それでも抽せん通った後は別にコネがあってもわかりませんしね。

現に昔、弟はコネもなく、完全な運と実力で国立小に入りましたが、周りは政治家、官僚や凄い企業のお偉いさん、大学教授の子供・孫が多かったと聞きます。

同じ点数ならより育ちやバックグラウンドがしっかりしているお子さんを取りたいと思うでしょう。

金があるから勉強にも投資でき、実力があるとも言えますが、それだけじゃないな、というのが人間の社会ですw

子供の性格・趣味趣向に向いている小学校がある

子供が受かった小学校のカリキュラムについていけない、面白いと思えないのであれば、せっかく行かせても意味がありません。

こんなカリキュラムがあるなら行かせたい、子供が学校に毎日楽しく行けそうだというのがあれば考えてみるべきです。

私立だと多いのが課外授業です。キリスト教系の学校だと奉仕の精神を学ぶために、ボランティアや老人ホームや養護学校に行ったり、ハロウィン・クリスマスなどのイベントも豊富です。

体育会系の小学校だと、山登りやマラソン、遠泳などを強制しているところもあります。

中・高・大の偏差値が高いから行かせるのではなく、子供に合ってるかどうかで行かせたいところがあるか考えましょう。

偏差値が高いところなら、結局内部での進学も厳しいので、自分で頑張れる年齢になってから本人が行く気になってれば行かせればいいと思います。

夫婦間で小学校受験について話し合え、受ける学校について一緒に調べることができる

子育てについて語り合えない夫婦には小学校受験は厳しいです。

小学校受験では両親が面接に駆り出され、何故その学校を志望したか聞かれますし、志望理由も書かされます。

志望理由がありきたりだと余裕で落ちます。

志望理由をアツくするため、年少から学校説明会に参加してますとアピールする親もザラです。

(まあ、コロナの昨今、なかなか対象学年以外の親子が参加しにくくなってるので、それ以外で攻める必要が出てきているのですが・・・)

母親に聞かれがちな質問、父親に聞かれがちな質問というのがあったりしますが、年によってそれが逆になることも多いです。

ですので、どちらの親もどのような質問でも受け答えできないといけないことから、受験したい学校について普段から語り合える夫婦である必要があります。

何のために小学校受験をさせるのか、明確な目的がある

小学校受験は水物です。実力があるから受かるというものでも決してありません。

コネがあれば確率は非常に上がりますが、無ければ塾で優秀な子も行きたい学校に行けないということは良くあります。

これは親の面接の出来や面接官との相性、学校側が取りたい子供が毎年違う可能性がある、付属幼稚園からの上がってくる人数の違い等もあります。

国立のように8割~9割最初に落とされるような恐ろしいまでの『運』の要素もあります。

滑り止めとして、義務教育の公立小学校があるので、どの親もチャレンジしがちです。

そのため、全滅ということもあることは覚悟しなければいけません。

全滅したとき、お金をかけていったい自分たちは何をしてきたんだ?とならないように、小学校受験をする際の目的を決めるべきです。

自分たちは子供の自立心の芽生えを考えました。

自分で考えて行動することができるようになれば成長と捉え、受けた学校全て落ちたとしても高い教育費として諦める覚悟をしました。

幸い、自分たちは1校受かったので良かったのですが、やる前にそういう目的をもっておかないと、結果を受け止められずに、家族でもめる可能性もあります(;^ω^)

どのくらいあてはまりますか?

うちの家で言うと、15個中下の5つしか当てはまりませんでした。

  • 子どもが双子や三つ子ではない
  • 子供に寝る前に絵本を読む習慣がある
  • 子供の性格・趣味趣向に向いている小学校がある
  • 夫婦間で小学校受験について話し合え、受ける学校について一緒に調べることができる
  • 何のために小学校受験をさせるのか、明確な目的がある

塾だって近くにあったのに、少し高いからって結局吉祥寺まで片道1hかけていってましたしね。

それで子供は最後の一か月、ずっと37度~38度あって、薬でなんとか抑えてました。

親もボロボロでした。

それでもなんとか1校はGETしました(まあ、難関校とは言えませんが)

やった甲斐はあった気もします。少し生意気になりましたし。

ちなみに、僕の弟は30年前の話ですが、塾にも行かず国立に受かったのですが、運の力を最大限に活かしたとはいえ、以下のような条件でした。

  • 片方の親だけで収入が1000万(できれば1500万)超える
  • 奥さんは専業主婦or夫が専業主夫
  • 子どもが双子や三つ子ではない
  • 親がキレにくい性格(じっくり成長を見守れる)
  • 子供が早生まれではない。できれば4月から7月に生まれている
  • 子供は保育園ではなく、幼稚園に行かせている
  • 親が子供にしつけをしっかりしている自信がある
  • 受験をする子供に兄弟・姉妹がいる
  • 子供に寝る前に絵本を読む習慣がある
  • 子供の性格・趣味趣向に向いている小学校がある
  • 夫婦間で小学校受験について話し合え、受ける学校について一緒に調べることができる
  • 何のために小学校受験をさせるのか、明確な目的がある

15分の12も当てはまってます。

これで塾行ってたらコネ以外ほとんどだな。

オヤジ、稼いでたしなあ…。

家庭はほったらかしだったけど、子供の勉強には熱心だったし。

母親は子供のしつけしっかりしてたなあ。。。

と今更ながら自分の家が恵まれてたことを実感しました(;^_^A

次回

こんだけネガティブに書いといて、次回はやるメリットを書こうかと思いますw

起動しない、エラーログ出ない、困ったー!と言う時はmy.cnf(my.ini)を見よう

小学校受験の話をガッツリ書く前に、今日はちょっとしたMySQLの小話。

なんで起動しないのか確認できないよぉ…

MySQL Serverを起動しようとしたら起動しない。

でも、エラーログが出てない。

実行しているコンソール上にも何も出ない。

なんで起動しないのかわからないよー!

そんな時ありませんでした?

理由は恐らくあなたのmy.cnf(my.ini)にあります。

my.cnfやmy.iniのあるパラメータに注目

それはdatadirとlog_errorです。

log_error が指定されていない場合、またはファイルに名前を付けずに指定されている場合、--pid-file オプションが指定されていないかぎり、デフォルトの宛先はデータディレクトリ内の host_name.err という名前のファイルになります。

log_error が指定されているが、ファイル名だけの場合、そのファイルはデータディレクトリ上に作られます。

log_error が指定されていて、パスも記載されている場合、そのファイルはそのパス上に作られます。

データディレクトリは通常、インストールディレクトリ下のdataフォルダ下になり、datadirで指定されます。

つまり、

  • datadirに記載されたパスが間違っていて、
  • かつlog_error が指定されていない or ファイル名しか記載されてない or パスが記載されているが、そのパスがdatadirに書かれたものと同じ

場合、エラーログが出ない上に、起動しない現象が起きます。

解決方法はdatadirを直す

こういう場合、datadirの記述を見直してください。

Linuxだったら大文字小文字、Windowsだったら¥の数や半角スペースとかがおかしくないか見てみましょう。

log_error をデータディレクトリじゃないところにして、パスも記載しておけばdatadirが間違っててもログを見ればばっちりです。

参考

https://dev.mysql.com/doc/refman/8.0/ja/error-log-destination-configuration.html https://dev.mysql.com/doc/refman/8.0/ja/server-system-variables.html#sysvar_datadir https://dev.mysql.com/doc/refman/8.0/ja/server-system-variables.html#sysvar_log_error