HackerQuest

No app, no life

趣味と実益を兼ねてプログラマをやっている者👨‍💻

MySQL テーブル名がOSによって大文字と小文字を区別しない問題

MySQL テーブル名がOSによって大文字と小文字を区別しない問題

結論から言うと

デフォルトでmacOSUnixではlower_case_table_namesの設定値が異なるので、

CentOSの/etc/my.cnfに

lower_case_table_names=1

を加える

my.cnfファイルを反映させる

参考:https://qiita.com/yutaro1985/items/7ee4251531e2f1ededca

データベース削除を削除すれば確実に反映される

/var/lib/mysql

にある使っているデータベースを削除する

以下のコマンドで確認できる

show variables where variable_name='lower_case_table_names';

公式ドキュメント

https://dev.mysql.com/doc/refman/5.6/ja/identifier-case-sensitivity.html

macOSの場合

f:id:tsudukihashi0817:20190517000049p:plain

CentOSの場合

f:id:tsudukihashi0817:20190517000101p:plain

そりゃエラー出ますよね...

シンボリックリンクとは

シンボリックリンクとは

ソフトリンクのこと

コーラやウーロン茶のことではない

ソフトリンクとは

Soft Link

コンピュータ上で扱うファイルやディレクトリを本来の位置にファイルを残しつつそれとは別の場所に置いたり、別名をつけてアクセスする手段である。

要するにショートカットのような物のことで、ファイルやディレクトリのリンクを記憶しているもの。

(厳密にはショートカットとは異なり、ソフトリンクはソフトリンクから辿ったパスを使ってリンク先にアクセスすることが可能である。)

名称

OSによって名称が異なっている

OS 名称
Microsoft Windows ショートカット
Mac OS エイリアス
UNIX シンボリックリンク
NTFS ジャンクション

元のファイルにつけたあだ名をハードリンクとも呼ぶ。

特徴

  • 複製とは違い、実体がない

  • ソフトリンクで開いたファイルへの操作が実物のファイルにも反映される

  • ファイルサイズが小さい

ちなみにCentOSだとterminalの画面で水色の文字色で表示される!

メリット

  • 遠くにあるディレクトリに楽にアクセスできるようになる
  • 本体に変更を加えることなく設定を変えることができる
  • 間違ったディレクトリ構成にしてしまってもソフトリンクを作るだけで解決

一言

 ソフトリンクではないと実現できないようなことがあるので、たくさん利用して使いこなせるようにしたいところです。

参考

Wikipedia

Linuxのユーザーアカウント

Linuxのユーザーアカウント

Linuxのユーザーアカウントは以下の3種類に分類されます。

  • システム全ての管理権限を有するスーパーユーザー
  • 特定の権限のみを有する一般ユーザー
  • アプリケーションの起動する際に使用されるシステムユーザー

スーパーユーザー(root ユーザー)とは

f:id:tsudukihashi0817:20190511165149p:plain

 スーパーユーザーはLinuxにおける特別なユーザーアカウントで、Linuxシステムのすべての管理者権限を持っているユーザーで、rootユーザーとも呼ばれます。セキュリティ上最も重要なユーザーでもあります。

 Windowsのけるアドミニストレーターと同様です。

  • 全コマンドの実行権限
  • 全ファイルに対するアクセス権を持ちます

一般ユーザーとは

f:id:tsudukihashi0817:20190511165330p:plain

スーパーユーザーとは違い、限られた権限のみを付与されたユーザーのことです。

基本的に自分専用のスペースが与えられ、その与えられた中で作業を行います。勝手にシステムに変更を加えるようなことはできないようになっています。 + コマンドに制限がある + アクセス制限がある

システムユーザー

f:id:tsudukihashi0817:20190511165343p:plain

 特定のアプリを実行するときに使用される特殊なユーザーアカウントです。基本的にユーザーが直接利用しない設計です。

Ryo Tsuzukihashi