Skip to main content

Install MySQL 5.7 dan PHP 7.1 CentOS 7

Dapat tugas disuruh install MySQL 5.7 dan PHP 7.1 di CentOS 7, ada sedikit perbedaan karena yang diinstall bukan versi terakhir (latest) dan beberapa hal penting yang perlu didokumentasikan di blog ini

Hal penting yang perlu diperhatikan

Beberapa poin yang perlu diperhatikan sebelum dan setelah instalasi yang berpengaruh pada develop dan production diantaranya :

  • firewall-cmd
  • non-aktifkan selinux. Pada saat instalasi karena ketatnya tingkat keamanan CentOS sehingga ada kondisi harus di set ke mode permissive/ disable. Simple kalau hanya ingin sementara pakai command setenforce 0  kalau ingin permanent konfigurasi filenya ada di /etc/selinux/config  (selengkapnya baca Linuxize dan Cyberciti)
  • timezone. Sesuaikan timezone di file php.ini (baca tecadmin)
  • bind address di file my.cnf
  • pastikan database yang dibuat bisa di remote
  • user mysql jgn pake root (Baca Linuxize : How to Create MySQL Users Accounts and Grant Privileges)

Install PHP 7.1

yum install epel-release yum-utils -y yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-config-manager --enable remi-php71 yum install php php-cli php-common php-devel php-mssql php-mysql php-pdo php-pear php-pgsql php-xml php-gd php-zip php-mbstring php-curl php-mcrypt php-intl

Install php yang diperlukan, dalam ini saya install semua. Sumber Linuxtechi dan tecmint


Install MySQL 5.7

  • Download MySQL 5.7 yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
  • Install MySQL 5.7 yum install mysql-community-server   atau yum install mysql-server
  • Atur firewall firewall-cmd --add-port=3306/tcp --permanent firewall-cmd --reload
  • Start service mysqlnya systemctl start mysqld
  • Cari password root mysql sementara grep 'temporary password' /var/log/mysqld.log
  • Lakukan pra konfigurasi : mysql_secure_installation. Berikut pertanyaan yang butuh konfirmasi

Change the password for root ? ((Press y|Y for Yes, any other key for No) : y Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

Buat database dan user MySQL

  • Login dengan user root mysql -u root -p
  • Buat database create database trialdb;
  • Buat user create user 'trialuser'@'%' identified by 'P@ssw0rd';. Password harus sesuai standar keamanan untuk liat lebih jelas jalankan query berikut SHOW VARIABLES LIKE 'validate_password%';

Jika tetap mau membuat password yang mudah, keterangan sebagai berikut :

LOW Length >= 8 characters. MEDIUM Length >= 8, numeric, mixed case, and special characters. STRONG Length >= 8, numeric, mixed case, special characters and dictionary file.

  • SET GLOBAL validate_password.policy=LOW;
  • Atur permission user grant all privileges on trialdb.* to 'trialuser'@'%';

Allow MySQL to Remote

  • Edit file nano /etc/my.cnf
  • Hilangkan tanda # dan edit perintah bind-address=YOUR.SERVER.IP  atau default 0.0.0.0
  • Setelah itu coba remote menggunakan aplikasi MySQL Workbench atau yang serupa (baca : Login MySQL with DBeaver)

Referensi instalasi dan konfigurasi MySQL :