Category Archive Database

Bypitt phunsanit

MariaDB: install ( MySQL )

เพราะว่า MySQL ถูกซื้อไปโดย oracle ทีมพัฒนาเดิมจึงออกมาทำ MariaDB แทน โดยสามารถทำได้ทุกอย่างที่ MySQl ทำได้แต่ open source จริง ๆ เราจึงใช้ MariaDB แทน MySQL

  1. ติดตั้ง MariaDB ให้ติดตั้งก่อนโดย คำสั่ง
    brew install mariadb
  2. หาตำแหน่งที่ติดตั้งอะแพชีก่อนโดยใช้คำสั่ง
    brew info mariadb
    จะเห็น message กลับมา เช่น
    mariadb: stable 11.4.2 (bottled)
    Drop-in replacement for MySQL
    https://mariadb.org/
    Conflicts with:
    mariadb-connector-c (because both install `mariadb_config`)
    mysql (because mariadb, mysql, and percona install the same binaries)
    mytop (because both install `mytop` binaries)
    percona-server (because mariadb, mysql, and percona install the same binaries)
    Installed
    /opt/homebrew/Cellar/mariadb/11.4.2 (946 files, 211.9MB) *
    Poured from bottle using the formulae.brew.sh API on 2024-07-19 at 21:23:11
    From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/m/mariadb.rb
    License: GPL-2.0-only
    ==> Dependencies
    Build: bison ✘, cmake ✘, fmt ✘, pkg-config ✘
    Required: groonga ✔, lz4 ✔, openssl@3 ✔, pcre2 ✔, xz ✔, zstd ✔
    ==> Caveats
    A “/etc/my.cnf” from another install may interfere with a Homebrew-built
    server starting up correctly.

    MySQL is configured to only allow connections from localhost by default

    To restart mariadb after an upgrade:
    brew services restart mariadb
    Or, if you don’t want/need a background service you can just run:
    /opt/homebrew/opt/mariadb/bin/mariadbd-safe –datadir\=/opt/homebrew/var/mysql
    ==> Analytics
    install: 9,093 (30 days), 22,080 (90 days), 83,058 (365 days)
    install-on-request: 9,062 (30 days), 21,976 (90 days), 81,937 (365 days)
    build-error: 30 (30 days)/
    จะเห็นข้อมูลสำคัญ 2 จุดคือ
    • version ที่ติดตั้ง 11.4.2
    • path ที่ติดตั้งคือ /opt/homebrew/opt/mariadb/
  3. โดย default จะสร้าง user: root password: ว่าง จะ login ได้โดยคำสั่ง
    mysql -u [email protected]
  4. ควรสร้าง user ใหม่แทน root โดยคำสั่ง
    CREATE USER ‘{ newuser }‘@’{ Host name }‘ IDENTIFIED BY ‘{ password }‘;
    GRANT ALL PRIVILEGES ON *.* TO ‘{ newuser }‘@’{ Host name }‘ ;
    FLUSH PRIVILEGES;
    โดย
    • { newuser } คือ user ที่จะสร้างใหม่
    • { Host name } คือ user นี้จะสามารถ login ได้จากโดย
      Host Nameรายละเอียด
      127.0.0.1( Default ) เข้าได้เฉพาะเครื่องเดียวกัน ผ่านทาง socket connector
      localhostเข้าได้เฉพาะเครื่องเดียวกัน ผ่านทาง TCP/IP
      %รับจบทั้ง socket connector และ TCP/IP
      hostname
    • { password } รหัสผ่าน ( ระวังเรื่องเครื่องหมาย ‘ ด้วย )
    • CREATE USER 'GX2yDwxZ55yY'@'127.0.0.1' IDENTIFIED BY 'QzvYVtb7fPbr';
      GRANT ALL PRIVILEGES ON *.* TO 'GX2yDwxZ55yY'@'127.0.0.1';
      FLUSH PRIVILEGES;
      
      
  5. ทดสอบ login โดย
    mysql -u { newuser }@{ Host name }
    เช่น
    mysql -u GX2yDwxZ55yY@127.0.0.1