Updated by Rajakavitha Kodhandapani
MySQL One-Click App
MySQL is an open-source database management system that uses a relational database and SQL (Structured Query Language) to manage its data. In Debian 9, MySQL is replaced with MariaDB as the default database system. MariaDB is an open-source, multi-threaded relational database management system, backward compatible replacement for MySQL. It is maintained and developed by the MariaDB Foundation.
Deploy a MySQL/MariaDB One-Click App
One-Click Apps allow you to easily deploy software on a Linode using the Linode Cloud Manager. To access Linode’s One-Click Apps:
Log in to your Linode Cloud Manager account.
From the Linode dashboard, click on the Create button in the top right-hand side of the screen and select Linode from the dropdown menu.
The Linode creation page will appear. Select the One-Click tab.
Under the Select App section, select the app you would like to deploy:
Once you have selected the app, proceed to the app’s Options section and provide values for the required fields.
|MySQL User||The user for your MySQLDB database. Required.|
|MySQL Root Password||The root password for your MySQL database. Required.|
|Create Database||The database on your MySQL. Required.|
|Select an Image||Debian 9 is currently the only image supported by the MySQL One-Click App, and it is pre-selected on the Linode creation page. Required.|
|Region||The region where you would like your Linode to reside. In general, it’s best to choose a location that’s closest to you. For more information on choosing a DC, review the How to Choose a Data Center guide. You can also generate MTR reports for a deeper look at the network routes between you and each of our data centers. Required.|
|Linode Plan||Your Linode’s hardware resources. The Linode plan you deploy your MySQL/MariaDB on should account for the estimated workload. If you are standing up a simple web page, you can use a Nanode or 2GB Linode. If you will deploy a more robust web app, then consider a plan with higher RAM and CPU allocations. If you decide that you need more or fewer hardware resources after you deploy your app, you can always resize your Linode to a different plan. Required.|
|Linode Label||The name for your Linode, which must be unique between all of the Linodes on your account. This name will be how you identify your server in the Cloud Manager’s Dashboard. Required.|
|Root Password||The primary administrative password for your Linode instance. This password must be provided when you log in to your Linode via SSH. It must be at least 6 characters long and contain characters from two of the following categories: lowercase and uppercase case letters, numbers, and punctuation characters. Your root password can be used to perform any action on your server, so make it long, complex, and unique. Required.|
Getting Started after Deployment
After MySQL has finished installing, you will be able to access MySQL from the console via ssh with your Linode’s IPv4 address:
SSH into your Linode and create a limited user account.
Log out and log back in as your limited user account.
Update your server:
sudo apt-get update && apt-get upgrade
The standard tool for interacting with MySQL is the
mysql client which installs with the
mysql-server package. The MySQL client is used through a terminal.
To log in to MySQL as the root user:
sudo mysql -u root -p
When prompted, enter the MySQL root password that you set when launching the One-Click App. You’ll then be presented with a welcome header and the MySQL prompt as shown below:
To generate a list of commands for the MySQL prompt, enter
h. You’ll then see:
List of all MySQL commands: Note that all text commands must be first on line and end with ';' ? (?) Synonym for `help'. clear (c) Clear command. connect (r) Reconnect to the server. Optional arguments are db and host. delimiter (d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter. edit (e) Edit command with $EDITOR. ego (G) Send command to mysql server, display result vertically. exit (q) Exit mysql. Same as quit. go (g) Send command to mysql server. help (h) Display this help. nopager (n) Disable pager, print to stdout. notee (t) Don't write into outfile. pager (P) Set PAGER [to_pager]. Print the query results via PAGER. print (p) Print current command. prompt (R) Change your mysql prompt. quit (q) Quit mysql. rehash (#) Rebuild completion hash. source (.) Execute an SQL script file. Takes a file name as an argument. status (s) Get status information from the server. system (!) Execute a system shell command. tee (T) Set outfile [to_outfile]. Append everything into given outfile. use (u) Use another database. Takes database name as argument. charset (C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets. warnings (W) Show warnings after every statement. nowarning (w) Don't show warnings after every statement. For server side help, type 'help contents' MariaDB [(none)]>
Grant access to the database that you created when launching the One-Click App for MySQL User. In this example, the database is called
webdata, the user
webuser, and password of the user is
password. Be sure to enter your own password. This should be different from the root password for MySQL:
GRANT ALL ON webdata.* TO 'webuser' IDENTIFIED BY 'password';
To Exit MySQL/MariaDB type:
Create a Sample Table
Log back in as MySQL User that you set when launching the One-Click App. In the following example the MySQL User is
sudo mysql -u webuser -p
Create a sample table called
customers. This creates a table with a customer ID field of the type
INTfor integer (auto-incremented for new records, used as the primary key), as well as two fields for storing the customer’s name. In the following example
webdatais the database that you created when launching the One-Click App.
use webdata; create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
To view the contents of the table that you created:
The output would be:
+-------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------+------+-----+---------+----------------+ | customer_id | int(11) | NO | PRI | NULL | auto_increment | | first_name | text | YES | | NULL | | | last_name | text | YES | | NULL | | +-------------+---------+------+-----+---------+----------------+
Then exit MySQL/MariaDB.
For more on MySQL/MariaDB, checkout the following guides:
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
This guide is published under a CC BY-ND 4.0 license.