Difference between revisions of "SBN - Database Server Notes"

From The TinkerNet Wiki
Jump to navigation Jump to search
(Created page with "This page will eventually be a set of instructions aimed at building a VM that handles ALL of the databases for as many web/wiki/WP/etc servers as you want on your network.....")
 
Line 1: Line 1:
This page will eventually be a set of instructions  aimed at building a VM that handles ALL of the databases for as many web/wiki/WP/etc servers as you want on your network..
+
A dedicated server Just to run MySQL...
  
For the moment...
+
Then you can simply point all the other things that use it to a central location.
  
* [[MySQL Notes]]
+
i.e.: Wikipedia, WordPress, WeeWX, etc...
 +
 
 +
= Linux Mint =
 +
* Mint 19.3 Seems to get MySQL 5.7.30
 +
* Mint 20 Gets MySQL 8.0.20
 +
 
 +
* <code>sudo apt install mysql-server mysql-client php-mysql</code>
 +
** Say Yes to Continue
 +
* See [[TinkerWiki:MySQL - Initial Configuration]] for configuration
 +
 
 +
= SparkyLinux =
 +
* Doesn't even have MySQL in the repositories...
 +
* [[TinkerWiki:Getting MySQL onto SparkyLinux]]
 +
** Which then gets MySQL 8.0.21
 +
 
 +
* <code>sudo apt install mysql-server mysql-client php-mysql</code>
 +
** Say Yes to Continue
 +
** <u>Configuring mysql-community-server</u>
 +
*** Pick a good '''root''' password...
 +
*** I tend to select '''Use Legacy Authentication Method''' because '''Use Strong Password Encryption''' is annoying as hell.  (Your choice here...)
 +
* See [[TinkerWiki:MySQL - Initial Configuration B]] for configuration
 +
** (pretty much same as [[TinkerWiki:MySQL - Initial Configuration]] except the root password is already done...)
 +
 
 +
= Set up at least one user in mysql =
 +
 
 +
* <code>sudo mysql -u root -p</code>
 +
** You will be asked for '''2''' passwords, your own & that of the root database user.
 +
 
 +
CREATE USER 'someone'@'localhost' IDENTIFIED BY 'password';
 +
FLUSH PRIVILEGES;
 +
EXIT;
 +
('''Hint:'''  This'd be a good time to create yourself as that user with your non-admin password of choice...)
 +
 
 +
If this is to be a remotely accessed Database Server, ''''localhost'''' will actually be the name/address of the remote machine you'll access '''from'''. (Possibly even ''''*'''')
 +
 
 +
= Reference Materials =
 +
 
 +
* [http://g2pc1.bu.edu/~qzpeng/manual/MySQL%20Commands.htm Commands]
 +
* [https://linuxize.com/post/how-to-manage-mysql-databases-and-users-from-the-command-line/ How to Manage MySQL Databases and Users from the Command Line]
 +
* [https://www.hostinger.com/tutorials/?s=mysql Some handy tutorials]
 +
** [https://www.hostinger.com/tutorials/mysql-show-users/ How to Show Users in MySQL on Linux]
 +
 
 +
= Useful Things =
 +
 
 +
* Restart MySQL
 +
** <code>sudo systemctl restart mysql.service</code>
 +
* Change a user password
 +
** <code>ALTER USER 'userName'@'localhost' IDENTIFIED BY 'New-Password-Here';</code>
 +
* Trash a complete database '''(WARNING! DANGER! DAMAGE LIKELY!)'''
 +
** <code>DROP DATABASE wp_Someblog;</code>
 +
* List existing databases
 +
** <code>SHOW databases;</code>
 +
* List existing users
 +
** <code>SELECT user,host FROM mysql.user;</code>

Revision as of 17:42, 18 July 2020

A dedicated server Just to run MySQL...

Then you can simply point all the other things that use it to a central location.

i.e.: Wikipedia, WordPress, WeeWX, etc...

Linux Mint

  • Mint 19.3 Seems to get MySQL 5.7.30
  • Mint 20 Gets MySQL 8.0.20

SparkyLinux

  • sudo apt install mysql-server mysql-client php-mysql
    • Say Yes to Continue
    • Configuring mysql-community-server
      • Pick a good root password...
      • I tend to select Use Legacy Authentication Method because Use Strong Password Encryption is annoying as hell. (Your choice here...)
  • See TinkerWiki:MySQL - Initial Configuration B for configuration

Set up at least one user in mysql

  • sudo mysql -u root -p
    • You will be asked for 2 passwords, your own & that of the root database user.
CREATE USER 'someone'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;

(Hint: This'd be a good time to create yourself as that user with your non-admin password of choice...)

If this is to be a remotely accessed Database Server, 'localhost' will actually be the name/address of the remote machine you'll access from. (Possibly even '*')

Reference Materials

Useful Things

  • Restart MySQL
    • sudo systemctl restart mysql.service
  • Change a user password
    • ALTER USER 'userName'@'localhost' IDENTIFIED BY 'New-Password-Here';
  • Trash a complete database (WARNING! DANGER! DAMAGE LIKELY!)
    • DROP DATABASE wp_Someblog;
  • List existing databases
    • SHOW databases;
  • List existing users
    • SELECT user,host FROM mysql.user;