Category: MySQL

เทคนิคการใช้ ฐานข้อมูล และการปรับแต่ง Mysql

Install Linux ,Nginx, MySQL,PHP,phpmyadmin on Ubuntu 18.04

Step 1 – Install the Nginx Web Server

$ sudo update
$ sudo apt-get install nginx

Enable firewall

$ sudo ufw allow http
$ sudo ufw allow https

Check status

$ sudo ufw status

Step 2 Install PHP PHP-mysql and Config

$ sudo apt install php-fpm php-mysql

config nginx

$ sudo nano /etc/nginx/sites-available/example.com
server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name example.com;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
$ sudo unlink /etc/nginx/sites-enabled/default
$ sudo nginx -t
$ sudo  systemctl reload nginx

step 3 Creating a PHP File to test Configuaration

$ sudo nano /var/www/html/info.php
<?php   phpinfo(); ?>

Step 4 Install MySQL

$ sudo apt install mysql-server
$ sudo mysql_secure_installation

กำหนดรหัสผ่านให้กับฐานข้อมูล  MySQL

$ sudo mysql
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
mysql>FLUSH PRIVILEGES;
mysql> exit

Step 5 Install phpMyAdmin

$ sudo apt install phpmyadmin
$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

#1698 – Access denied for user ‘root’@’localhost’

วิธีการแก้ไขโดยการเพิ่ม user เข้าไปโดยให้สิทธิ์เที่ยบเท่า root

$ sudo mysql -p -u root
mysql> CREATE USER 'admin'@'%' IDENTIFIED BY 'admin555';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;

วิธีแก้ไข unblock with ‘mysqladmin flush-hosts

สาเหตุเกิดจาก มีความผิดพลาดจำนวนมาก ไปยัง server mysql ต้องทำการเคลียค่าโดยใช้คำสั่งดังนี้
$ mysqladmin -u username -p  flush-hosts;

ปัญหารหัสภาษาไทย PHP กับ ฐานข้อมูล MySQL

1. กรณีการแสดงข้อมูลในฐานข้อมูล MySQL เป็น ?????????? วิธีการแก้ไข
สาเหตุ เกิดจากรหัสภาษาระหว่างฐานข้อมูลกับเว็บเซอร์เวอร์ไม่ตรงกัน
วิธีการแก้ไข ให้ทำการเพิ่มชุดคำสั่งในการเซตรหัสภาษาหลังจากชุดคำสั่งเชื่อมต่อฐานข้อมูลดังนี้

   $hostname = “localhost”;
   $database = “db1”;
   $username = “*****”;
   $password = “*****”;
   $std = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
   mysql_db_query($database,”SET NAMES UTF8″);

2.  กรณีแสดงข้อมูล เธ�เธทเน�เธญ-เธชเธ�เธธเธฅ เนื่องจากรหัสภาษาการแสดงผลบนเว็บไซด์ไม่ถูต้อง
วิธีการแก้ไข ให้เพิ่มการเซตภาษาการแสดงผลในเว็บไซด์ ส่วน header ดังนี้
     <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />