Instancia

Advertencia:
Esta sección se mantiene como referencia pero su contenido puede ya no ser del todo útil por la versión de programas usados: MariaDB 5.5 en Slackware Linux 14.1

A continuación se dan los pasos básicos para crear una instancia del SGBD MariaDB.

  1. Instala la BD propia de MariaDB:

    [root@servidor ]# mysql_install_db --user=mysql --datadir=/var/lib/mysql
    Installing MariaDB/MySQL system tables in '/var/lib/mysql' ...
    OK
    Filling help tables...
    OK
    
    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system
    
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
    To do so, start the server, then issue the following commands:
    
    '/usr/bin/mysqladmin' -u root password 'new-password'
    
    Alternatively you can run:
    '/usr/bin/mysql_secure_installation'
    
    which will also give you the option of removing the test
    databases and anonymous user created by default.  This is
    strongly recommended for production servers.
    
    See the MariaDB Knowledgebase at http://kb.askmonty.org or the
    MySQL manual for more instructions.
    
    You can start the MariaDB daemon with:
    cd '/usr' ; /usr/bin/mysqld_safe --datadir='/var/lib/mysql'
    
    You can test the MariaDB daemon with mysql-test-run.pl
    cd '/usr/mysql-test' ; perl mysql-test-run.pl
    
    Please report any problems with the '/usr/bin/mysqlbug' script!
    
    The latest information about MariaDB is available at http://mariadb.org/.
    You can find additional information about the MySQL part at:
    http://dev.mysql.com
    Support MariaDB development by buying support/new features from
    Monty Program Ab. You can contact us about this at sales@montyprogram.com.
    Alternatively consider joining our community based development effort:
    http://kb.askmonty.org/en/contributing-to-the-mariadb-project/
    
  2. Edita el archivo /etc/rc.d/rc.mysqld y comenta la línea SKIP="--skip-networking"

  3. Inicia el demonio de MariaDB/MySQL de forma manual:

    [root@servidor ~]# sh /etc/rc.d/rc.mysqld start
    140101 22:15:11 mysqld_safe Logging to '/var/lib/mysql/servidor.err'.
    140101 22:15:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
    
  4. Corrobora su ejecución:

    [root@servidor ~]# netstat -plutn
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      806/mysqld
    
  5. Asegura la instalación de MariaDB mediante el script mysql_secure_installation

    [root@servidor ~]# mysql_secure_installation
    
    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
          SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
    
    In order to log into MariaDB to secure it, we'll need the current
    password for the root user.  If you've just installed MariaDB, and
    you haven't set the root password yet, the password will be blank,
    so you should just press enter here.
    
    Enter current password for root (enter for none):
    OK, successfully used password, moving on...
    
    Setting the root password ensures that nobody can log into the MariaDB
    root user without the proper authorisation.
    
    Set root password? [Y/n] New password: toor
    Re-enter new password: toor
    Password updated successfully!
    Reloading privilege tables..
     ... Success!
    
    
    By default, a MariaDB installation has an anonymous user, allowing anyone
    to log into MariaDB without having to have a user account created for
    them.  This is intended only for testing, and to make the installation
    go a bit smoother.  You should remove them before moving into a
    production environment.
    
    Remove anonymous users? [Y/n]  ... Success!
    
    Normally, root should only be allowed to connect from 'localhost'.  This
    ensures that someone cannot guess at the root password from the network.
    
    Disallow root login remotely? [Y/n]  ... skipping.
    
    By default, MariaDB comes with a database named 'test' that anyone can
    access.  This is also intended only for testing, and should be removed
    before moving into a production environment.
    
    Remove test database and access to it? [Y/n]  - Dropping test database...
     ... Success!
     - Removing privileges on test database...
     ... Success!
    
    Reloading the privilege tables will ensure that all changes made so far
    will take effect immediately.
    
    Reload privilege tables now? [Y/n]  ... Success!
    
    Cleaning up...
    
    All done!  If you've completed all of the above steps, your MariaDB
    installation should now be secure.
    
    Thanks for using MariaDB!
    
  6. Permite el acceso remoto (desde cualquier host en la red) al usuario root:

    [root@servidor ~]# mysql -u root -p
    Enter password:
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 15
    Server version: 5.5.34-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    +--------------------+
    3 rows in set (0.00 sec)
    
    MariaDB [(none)]> use mysql;
    MariaDB [mysql]> select host, user, password from user;
    +-----------+------+-------------------------------------------+
    | host      | user | password                                  |
    +-----------+------+-------------------------------------------+
    | localhost | root | *9CFBBC772F3F6C106020035386DA5BBBF1249A11 |
    | 127.0.0.1 | root | *9CFBBC772F3F6C106020035386DA5BBBF1249A11 |
    | ::1       | root | *9CFBBC772F3F6C106020035386DA5BBBF1249A11 |
    +-----------+------+-------------------------------------------+
    4 rows in set (0.00 sec)
    
    MariaDB [mysql]> create user 'root'@'%' identified by 'toor';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [mysql]> select host, user, password from user;
    +-----------+------+-------------------------------------------+
    | host      | user | password                                  |
    +-----------+------+-------------------------------------------+
    | localhost | root | *9CFBBC772F3F6C106020035386DA5BBBF1249A11 |
    | 127.0.0.1 | root | *9CFBBC772F3F6C106020035386DA5BBBF1249A11 |
    | ::1       | root | *9CFBBC772F3F6C106020035386DA5BBBF1249A11 |
    | %         | root | *9CFBBC772F3F6C106020035386DA5BBBF1249A11 |
    +-----------+------+-------------------------------------------+
    5 rows in set (0.00 sec)
    MariaDB [mysql]> grant all privileges on *.* to 'root'@'%' with grant option;
    Query OK, 0 rows affected (0.01 sec)
    
    MariaDB [mysql]> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    MariaDB [mysql]> exit;
    Bye
    

Finalmente, para detener de forma manual al demonio de MySQL ejecuta como root:

[root@servidor ~]# sh /etc/rc.d/rc.mysqld stop
140102 15:33:23 mysqld_safe mysqld from pid file /var/run/mysql/mysql.pid ended