GIT –  is an RDBMS database that is freely distributed under the terms of the GPL license. More information about can be found on their home page and it’s Wiki page .

Requirements

  • access or sudo rights

Installing MySQL

In this handbook we are going to  mysql50-server on a 8.0 system using the FreeBSD Ports Collection. With that being said, let’s go ahead and install MySQL.

# cd /usr/ports/databases/mysql50-server && make install clean

Once the installation is over you should see something similar:

************************************************************************
Remember to run mysql_upgrade (with the optional --datadir=<dbdir> flag)
the first time you start the MySQL server after an upgrade from an
earlier version.
************************************************************************
install-info --quiet /usr/local/info/mysql.info /usr/local/info/dir
===> Installing rc.d startup script(s)
===>   Compressing manual pages for mysql-server-5.0.90
===>   Registering installation for mysql-server-5.0.90
===> REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/libexec/mysqld
      This port has installed the following startup scripts which may cause
      these network services to be started at boot time.
/usr/local/etc/rc.d/mysql-server
      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.
      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.mysql.com/
===>  Cleaning for mysql-client-5.0.90
===>  Cleaning for mysql-server-5.0.90</dbdir>

Starting MySQL

Before starting the database daemon we need to initialize the database directory, so execute the following commands to do so:

# mysql_install_db --user=mysql

Set proper permission of the MySQL directory:

# chown -R mysql:mysql /var/db/mysql

Copy the MySQL configuration file. According to the setup and purpose you will be using the MySQL database copy my-(huge, innodb-heavy-4G, large, medium, small).cnf configuration file from /usr/local/share/mysql directory.

So for example if your requirements are not that big and you plan to MySQL just to experiment with the database you may want to copy the mysql-medium.cnf configuration file

# cp /usr/local/share/mysql/mysql-medium.cnf /etc/my.cnf

Now we can start the database:

# mysqld_safe --user=mysql &

Securing MySQL

The very first thing that we need to do is to define a for the MySQL root account:

# mysqladmin -u root password 'new-password'

The next thing we need to do is to secure the MySQL user accounts. When MySQL was first installed it created some anonymous passwordless accounts.

In the next step we are going to remove those accounts due to security reasons.

So login to the database and provide the password you set for the root account in the previous step:

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5268
Server version: 5.0.91-log FreeBSD port: mysql-server-5.0.91
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Once logged in, you should see the MySQL prompt. Now let’s secure our MySQL database.

Setting password for the root user:

mysql> set password for root@localhost = password ('password');
Query OK, 0 rows affected (0.00 sec)
mysql> set password for root@example.com = password ('password');
Query OK, 0 rows affected (0.00 sec)

Remember to replace example.com with your actual hostname.

Now we are going to remove the anonymous accounts:

mysql> drop user ''@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> drop user ''@hostname;
Query OK, 0 rows affected (0.00 sec)
mysql> drop root@'127.0.0.1';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Drop the test database:

mysql> drop database test;
Query OK, 0 rows affected (0.00 sec)

Starting MySQL during boot-time

In order to start the MySQL database during boot-time, add the following lines to your /etc/rc.conf file:

# Enable MySQL
mysql_enable="YES"
mysql_args="--user="mysql"

Backup and restore

Creating backups and restoring is easy. In order to create a backup of a database, just execute the following command:

# mysqldump -u root -p --databases database --opt --default-character-set=utf8 > mysql-dump.sql

In order to restore from a backup you can do the following:

# mysql -u root -p pass < mysql-dump.sql

Another way to restore your backups is to use the source command while logged in to the database:

mysql> source mysql-dump.sql
Print Friendly

Comments

comments

Bài viết liên quan