Showing entries 4171 to 4180 of 44049
« 10 Newer Entries | 10 Older Entries »
PHP JWT & REST API Authentication Tutorial: Login and Signup

In this tutorial, we'll learn how to add JWT authentication to our REST API PHP application.

We'll see what JWT is and how it works. We'll also see how to get the authorization header in PHP.

We'll create REST API endpoints for allowing users to login and signup to access protected resources.

What is JWT

JWT stands for JSON Web Token and comprised of user encrypted information that can be used to authenticate users and exchange information between clients and servers.

When building REST API, instead of server sessions commonly used in PHP apps we tokens which are sent with HTTP headers from the server to clients where they are persisted (usually using local storage) then attached to every outgoing request originating from the client to the server. The server checks the token and allow or deny access to the request resource.

RESTful APIs are stateless. This means that requests from clients …

[Read more]
A Truly Open Source Database Conference

Many of our regular attendees already know that the Percona Live Open Source Database Conference is not all about Percona software or, indeed, all about Percona. However, with moving to a new city—Austin, TX— we have realized that it’s something we ought to shout out loud and clear. Our conference really is technology agnostic! As long as submissions were related to open source databases then they were candidate for selection.

We have thirteen tracks at this year’s conference including a track entitled “Other Open Source Databases” which we are presenting alongside tracks dedicated to MySQL®, …

[Read more]
Shows w/ MySQL this week

Just a friendly reminder for the busy week we have ahead of us... Please find below the shows you can find our MySQL staff at:

  • First show where you can fid us at is the Oracle Code in Shenzen, China 2019, April 16, 2019 

    • ​JSON is one of the flexible data for data exchange and storage today. MySQL X-DevAPI introduces a new modern and easy-to-learn way to work with JSON and Relational data. 
    • Do not miss the MySQL session scheduled for 4:05pm - 4:50pm as follows:
      • "NoSQL @ MySQL - Managing JSON Data with reliable and secured MySQL Database" by Ivan Ma, from Oracle MySQL Team & Zhou Yin Wei - Oracle MySQL ACE Director
[Read more]
Simple KeepaliveD set up

So keepalived has been around for quite a while now .... however it is still a mystery to many.
So this is a very simple example of how keepalived can work with MySQL. Hopefully, this can help those with questions.

We will have a Simple master to slave set up. Meaning.. we write to one unless we have failover to the second for some event.

1st - install keepalived


# yum search keepalived keepalived.x86_64 : Load balancer and high availability service
  Name and summary matches only, use "search all" for everything. # yum -y install keepalived
You should now have an config file 
# ls -ltr /etc/keepalived/keepalived.conf 
Keep the original as you always backup .. right....

# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.orig
So you need to figure out an ipaddress you can use for …

[Read more]
Install MySQL 8 on Linux with lower_case_table_names = 1

Tweet

MySQL stores several files on disk. Even in MySQL 8 where the data dictionary is stored in InnoDB tables, there are still all the tablespace files. Different file system behave differently, and one particular challenge is case sensitivity. On Microsoft Windows, the case does not matter, on Linux the case is important, and on macOS the case of the file names is preserved but the operating system by default makes it look like it is case insensitive.

Which convention that is the correct depends on your personal preference and use case. Between case sensitivity and case insensitivity, it basically boils down to whether mydb, MyDB, and MYDB should be the same identifier or three different ones. Since …

[Read more]
Putting the 'Fun' In Functional Indexes

I gave a thirty minute talk at Drupalcon this week on the features in MySQL 8.0 that would be of interest to developers and for such a short talk (and I cut slides to allow for audience questions) I could only cover the highlights. One attendee gently chastised me over no including their favorite new MySQL 8.0 feature -- functional indexes.


What is a Functional Index?
The manual says MySQL 8.0.13 and higher supports functional key parts that index expression values rather than column or column prefix values. Use of functional key parts enables indexing of values not stored directly in the table.   

There are some cool examples in the documentation on setting up some functional indexes, as can seen below.

CREATE TABLE t1 (
  col1 INT, col2 …

[Read more]
MySQL InnoDB Cluster - Enabling MySQL TDE with Rolling Restart

MySQL InnoDB Cluster + Enabling Transparent Data Encryption

Always-On service is very important for Today businesses.   MySQL High Availability using MySQL InnoDB Cluster provides Easy-to-setup/configure/use to allow Data to be ALWAYS available.

Data Protection is also one of the Key elements for Today.

With MySQL InnoDB Cluster, the article is written to provide a Tour how to ENABLE MySQL Transparent Data Encryption (TDE) on a running 3-Nodes MySQL InnoDB Cluster.


The full setup/demo Video is posted on YOUTUBE
Video : MySQL InnoDB Cluster with TDE + Encrypted File KeyRing Plugin


Link :   https://youtu.be/_Mrnl7fE-KA


Demo Landscape  


MySQL …

[Read more]
MySQL Tutorial: Create Database, Tables and Data Types

In this tutorial, you will learn about MySQL, how to create SQL databases, tables and various data types.

Prerequisites

You need to have MySQL server installed on your machine along with the MySQL client.

Create DATABASE | Create schema in MySQL

You can create a database in MySQL using the SQL instruction CREATE DATABASE .

Open a new terminal and invoke the mysql client using the following command: $ mysql -u root -p

Enter the password for your MySQL server when prompted.

You can now execute SQL statments. Let's see an example of creating a database named mydb: mysql> create database mydb;

Note: You can also use create schema for creating a database.

You can also add other parameters.

CREATE DATABASE IF NOT EXISTS

You can create multiple databases in your MySQL server. When using the IF NOT EXISTS parameter, you tell MySQL to create the …

[Read more]
MySQL InnoDB Cluster : avoid split-brain while forcing quorum

We saw yesterday that when an issue (like network splitting), it’s possible to remain with a partitioned cluster where none of the partition have quorum (majority of members). For more info read how to manage a split-brain situation.

If your read the previous article you notice the red warning about forcing the quorum. As an advice is never too much, let me write it down again here : “Be careful that the best practice is to shutdown the other nodes to avoid any kind of conflicts if they reappear during the process of forcing quorum“.

But if some network problem is happening it might not be possible to shutdown those other nodes. Would it be really bad ?

YES !

Split-Brain

Remember, we were in this situation:

We …

[Read more]
MySQL 8.0 Architecture and Enhancement Webinar: Q & A

In this blog, I will provide answers to the Q & A for the MySQL 8.0 Architecture and Enhancement webinar.

First, I want to thank everybody for attending my April 9, 2019, webinar. The recording and slides are available here. Below is the list of your questions that I was unable to answer fully during the webinar.

Q: What kind of Encryption levels does MySQL 8.0 provide?

The MySQL data-at-rest encryption feature supports the Advanced Encryption Standard (AES) block-based encryption algorithm and aes_256_cbc encryption algorithm for data at rest is hard coded.

Q: At what frequency does the redo log buffer flush the changes to disk? When is the commit variable set to zero?

Here’s an …

[Read more]
Showing entries 4171 to 4180 of 44049
« 10 Newer Entries | 10 Older Entries »