เพราะว่า MySQL ถูกซื้อไปโดย oracle ทีมพัฒนาเดิมจึงออกมาทำ MariaDB แทน โดยสามารถทำได้ทุกอย่างที่ MySQl ทำได้แต่ open source จริง ๆ เราจึงใช้ MariaDB แทน MySQL
- ติดตั้ง MariaDB ให้ติดตั้งก่อนโดย คำสั่ง
brew install mariadb
- หาตำแหน่งที่ติดตั้งอะแพชีก่อนโดยใช้คำสั่ง
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/
- โดย default จะสร้าง user: root password: ว่าง จะ login ได้โดยคำสั่ง
mysql -u [email protected]
- ควรสร้าง 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;
- ทดสอบ login โดย
mysql -u { newuser }@{ Host name }
เช่น
mysql -u GX2yDwxZ55yY@127.0.0.1