Difference between revisions of "MySQL"

From MineOS Wiki
Jump to navigation Jump to search
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
{{Buildfromscratch}}
 +
 
== Youtube walk-through ==
 
== Youtube walk-through ==
 
[http://www.youtube.com/watch?v=Fcr7N3f7IxY Securing MySQL and installing phpMyAdmin]
 
[http://www.youtube.com/watch?v=Fcr7N3f7IxY Securing MySQL and installing phpMyAdmin]
  
 
== Securing MySQL ==
 
== Securing MySQL ==
The MySQL password is not set by default (blank), and can only be set when the MySQL daemon is running (upon first boot). To set the password, execute the following command as 'root':
+
The MySQL password is not set by default (blank), and can only be set when the MySQL daemon is running (upon first boot). To set the password, execute the following command:
  
<nowiki>
+
{{executeasroot
# mysql_secure_installation
+
| commands = mysql_secure_installation}}
</nowiki>
 
  
 
== Disabling MySQL ==
 
== Disabling MySQL ==
 
If you are certain you have no need for MySQL, either for websites or for your Minecraft server mods, you may remove it from the services list.
 
If you are certain you have no need for MySQL, either for websites or for your Minecraft server mods, you may remove it from the services list.
  
<nowiki>
+
{{executeasroot
# vi /etc/rc.conf
+
| commands = vi /etc/rc.conf}}
</nowiki>
 
  
 
[[File:mysqld_rc.png|thumb|none|400px|Remove mysqld from the list]]
 
[[File:mysqld_rc.png|thumb|none|400px|Remove mysqld from the list]]
  
 
== PhpMyAdmin ==
 
== PhpMyAdmin ==
 +
[[PhpMyAdmin]] is available as an addon. To install, ensure you have first secured MySQL. Then, follow the steps to download and install [[PhpMyAdmin]] from its wiki page.
  
PhpMyAdmin is available as an addon. To install, ensure you have first secured MySQL. Then, as ''root'':
+
== Enabling remote access/TCP-IP connectivity ==
  
<nowiki>
 
# cd /usr/games/minecraft/addons
 
# ./phpmyadmin.sh
 
</nowiki>
 
 
=== mbstring module ===
 
On MineOS installations earlier than 0.4.8, php-mbstring was not included in the install. Since PhpMyAdmin operates better with this module, you can install it with another add-on. Versions 0.4.8 and beyond have this module installed by default.
 
<nowiki>
 
# cd /usr/games/minecraft/addons
 
# ./mbstring.sh
 
</nowiki>
 
 
=== Enabling PHP for PhpMyAdmin ===
 
 
PHP is only permitted to execute in /var/www/hiawatha/admin by default, follow instructions to [[PHP#Enable_PHP_for_only_one_directory_and_its_subdirectories|enable PHP]] for /var/www/hiawatha/phpmyadmin (or you may enable PHP for all directories if you choose).
 
 
PhpMyAdmin is now accessible via https://ip-address/phpmyadmin.  Note: '''HTTPS is required for PhpMyAdmin.'''
 
 
== Enabling remote access/TCP-IP connectivity ==
 
 
Remote access/TCP-IP connectivity is disabled by default ''on installs <= 0.4.6''--later versions can ignore this step as it has already been automated.  All these actions must be done as '''root''':
 
Remote access/TCP-IP connectivity is disabled by default ''on installs <= 0.4.6''--later versions can ignore this step as it has already been automated.  All these actions must be done as '''root''':
  
 
Edit the <tt>/etc/my.cnf</tt> file and comment out the line:
 
Edit the <tt>/etc/my.cnf</tt> file and comment out the line:
  
  <nowiki>
+
  <syntaxhighlight lang="bash">
 
#skip-networking
 
#skip-networking
</nowiki>
+
</syntaxhighlight>
  
 
Edit the hosts.allow file as well to add the mysqld daemon:
 
Edit the hosts.allow file as well to add the mysqld daemon:
  
  <nowiki>
+
  <syntaxhighlight lang="bash">
 
mysqld: ALL
 
mysqld: ALL
 
SSHD: ALL
 
SSHD: ALL
</nowiki>
+
</syntaxhighlight>
  
 
Have all localhost generated packets accepted by default in [[iptables]]:
 
Have all localhost generated packets accepted by default in [[iptables]]:
  
<nowiki>
+
{{executeasroot
iptables -A INPUT -i lo -j ACCEPT
+
| commands = iptables -A INPUT -i lo -j ACCEPT
iptables-save > /etc/iptables-rules
+
iptables-save > /etc/iptables-rules}}
</nowiki>
 
  
 
You will need to restart the mysqld daemon for these changes to take effect.
 
You will need to restart the mysqld daemon for these changes to take effect.
  
<nowiki>
+
{{executeasroot
/etc/rc.d/mysqld restart
+
| commands = /etc/rc.d/mysqld restart}}
</nowiki>
+
 
 +
[[Category:Maintenance]]
 +
[[Category:Securing]]
 +
[[Category:Addons]]
 +
[[Category:Connectivity]]

Latest revision as of 14:45, 2 October 2017

Youtube walk-through

Securing MySQL and installing phpMyAdmin

Securing MySQL

The MySQL password is not set by default (blank), and can only be set when the MySQL daemon is running (upon first boot). To set the password, execute the following command:

Disabling MySQL

If you are certain you have no need for MySQL, either for websites or for your Minecraft server mods, you may remove it from the services list.

Remove mysqld from the list

PhpMyAdmin

PhpMyAdmin is available as an addon. To install, ensure you have first secured MySQL. Then, follow the steps to download and install PhpMyAdmin from its wiki page.

Enabling remote access/TCP-IP connectivity

Remote access/TCP-IP connectivity is disabled by default on installs <= 0.4.6--later versions can ignore this step as it has already been automated. All these actions must be done as root:

Edit the /etc/my.cnf file and comment out the line:

<syntaxhighlight lang="bash">
  1. skip-networking

</syntaxhighlight>

Edit the hosts.allow file as well to add the mysqld daemon:

<syntaxhighlight lang="bash">

mysqld: ALL SSHD: ALL </syntaxhighlight>

Have all localhost generated packets accepted by default in iptables:

You will need to restart the mysqld daemon for these changes to take effect.