Difference between revisions of "MySQL"

From MineOS
Jump to: navigation, search
(PhpMyAdmin)
 
(27 intermediate revisions by one user not shown)
Line 1: Line 1:
 +
{{Buildfromscratch}}
 +
 +
== Youtube walk-through ==
 +
[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.
 +
 +
== 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 <tt>/etc/my.cnf</tt> file and comment out the line:
 +
 +
<syntaxhighlight lang="bash">
 +
#skip-networking
 +
</syntaxhighlight>
 +
 +
Edit the hosts.allow file as well to add the mysqld daemon:
 +
 +
<syntaxhighlight lang="bash">
 +
mysqld: ALL
 +
SSHD: ALL
 +
</syntaxhighlight>
  
PhpMyAdmin is available as an addon. To install, ensure you have first secured MySQL. Then, as ''root'':
+
Have all localhost generated packets accepted by default in [[iptables]]:
  
<nowiki>
+
{{executeasroot
# cd /usr/games/minecraft/addons
+
| commands = iptables -A INPUT -i lo -j ACCEPT
# wget http://minecraft.codeemo.com/crux/mineos-scripts/addons/phpmyadmin.sh
+
iptables-save > /etc/iptables-rules}}
# chmod +x phpmyadmin.sh
+
# ./phpmyadmin.sh
+
</nowiki>
+
  
=== Enabling PHP for PhpMyAdmin ===
+
You will need to restart the mysqld daemon for these changes to take effect.
  
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).
+
{{executeasroot
 +
| commands = /etc/rc.d/mysqld restart}}
  
PhpMyAdmin is now accessible via https://ip-address/phpmyadmin.  Note: '''HTTPS is required for PhpMyAdmin.'''
+
[[Category:Maintenance]]
 +
[[Category:Securing]]
 +
[[Category:Addons]]
 +
[[Category:Connectivity]]

Latest revision as of 10:45, 2 October 2017

Contents

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:

#skip-networking

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

mysqld: ALL
SSHD: ALL

Have all localhost generated packets accepted by default in iptables:

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