MariaDB MySQL软件包
以下是三个主要的MariaDB包:
mariadb-5.5.52-1.el7.x86_64 - 这包含几个MySQL客户端程序和实用程序。
mariadb-server-5.5.52-1.el7.x86_64 - 这是主要的MariaDB MySQL数据库服务器。
mariadb-libs-5.5.52-1.el7.x86_64 - 包含客户机程序界面所需的共享库。
<code># yum info mariadb-server</code>
<code>Loaded plugins: fastestmirror</code>
<code>Loading mirror speeds from cached hostfile</code>
<code> </code><code>* base: repos-va.psychz.net</code>
<code> </code><code>* extras: linux.cc.lehigh.edu</code>
<code> </code><code>* updates: mirror.us.leaseweb.net</code>
<code>Available Packages</code>
<code>Name : mariadb-server</code>
<code>Arch : x86_64</code>
<code>Epoch : 1</code>
<code>Version : 5.5.52</code>
<code>Release : 1.el7</code>
<code>Size : 11 M</code>
<code>Repo : base</code><code>/7/x86_64</code>
使用yum install安装如下所示的MariaDB MySQL服务器软件包。
<code>#yum </code><code>install</code> <code>mariadb-server</code>
此时,在这个服务器上,已经安装了mariadb-server以及以下依赖的包。
<code>mariadb-server.x86_64 1:5.5.52-1.el7</code>
<code>mariadb-libs.x86_64 1:5.5.52-1.el7</code>
<code>mariadb.x86_64 1:5.5.52-1.el7</code>
<code>libaio.x86_64 0:0.3.109-13.el7</code>
<code>perl-DBD-MySQL.x86_64 0:4.023-5.el7</code>
<code>perl-DBI.x86_64 0:1.627-4.el7</code>
<code>perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7</code>
<code>perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7</code>
<code>perl-Data-Dumper.x86_64 0:2.145-3.el7</code>
<code>perl-IO-Compress.noarch 0:2.061-2.el7</code>
<code>perl-Net-Daemon.noarch 0:0.48-5.el7</code>
<code>perl-plRPC.noarch 0:0.2020-14.el7</code>
验证确保这已经安装了三个重要的MariaDB mysql包。
<code>#rpm -qa | </code><code>grep</code> <code>-i maria </code>
<code>mariadb-5.5.52-1.el7.x86_64 </code>
<code>mariadb-server-5.5.52-1.el7.x86_64 </code>
<code>mariadb-libs-5.5.52-1.el7.x86_64</code>
如下所示,mariadb数据库服务器模块已加载,但尚未启动。
<code># systemctl status mariadb</code>
<code>? mariadb.service - MariaDB database server</code>
<code> </code><code>Loaded: loaded (</code><code>/usr/lib/systemd/system/mariadb</code><code>.service; disabled; vendor preset: disabled)</code>
<code> </code><code>Active: inactive (dead)</code>
使用systemctl启动MariaDB mysql服务器,如下:
<code>#systemctl start mariadb</code>
验证systemctl状态以确保mariadb数据库服务器已成功启动
<code> </code><code>Active: active (running) since Thu 2017-06-26 18:26:35 UTC; 13s ago</code>
<code> </code><code>Process: 4049 ExecStartPost=</code><code>/usr/libexec/mariadb-wait-ready</code> <code>$MAINPID (code=exited, status=0</code><code>/SUCCESS</code><code>)</code>
<code> </code><code>Process: 3969 ExecStartPre=</code><code>/usr/libexec/mariadb-prepare-db-dir</code> <code>%n (code=exited, status=0</code><code>/SUCCESS</code><code>)</code>
<code> </code><code>Main PID: 4048 (mysqld_safe)</code>
<code> </code><code>CGroup: </code><code>/system</code><code>.slice</code><code>/mariadb</code><code>.service</code>
<code> </code><code>+-4048 </code><code>/bin/sh</code> <code>/usr/bin/mysqld_safe</code> <code>--basedir=</code><code>/usr</code>
<code> </code><code>+-4206 </code><code>/usr/libexec/mysqld</code> <code>--basedir=</code><code>/usr</code> <code>--datadir=</code><code>/var/lib/mysql</code> <code>--plugin-</code><code>dir</code><code>=</code><code>/usr/lib64/mysql/plugin</code> <code>--log-error=</code><code>/var/log/mariadb/ma</code><code>...</code>
<code>Aug 15 15:20:30 deploy mariadb-prepare-db-</code><code>dir</code><code>[3969]: The latest information about MariaDB is available at http:</code><code>//mariadb</code><code>.org/.</code>
<code>Aug 15 15:20:30 deploy mariadb-prepare-db-</code><code>dir</code><code>[3969]: You can </code><code>find</code> <code>additional information about the MySQL part at:</code>
<code>Aug 15 15:20:30 deploy mariadb-prepare-db-</code><code>dir</code><code>[3969]: http:</code><code>//dev</code><code>.mysql.com</code>
<code>Aug 15 15:20:30 deploy mariadb-prepare-db-</code><code>dir</code><code>[3969]: Support MariaDB development by buying support</code><code>/new</code> <code>features from MariaDB</code>
<code>Aug 15 15:20:30 deploy mariadb-prepare-db-</code><code>dir</code><code>[3969]: Corporation Ab. You can contact us about this at [email protected].</code>
<code>Aug 15 15:20:30 deploy mariadb-prepare-db-</code><code>dir</code><code>[3969]: Alternatively consider joining our community based development effort:</code>
<code>Aug 15 15:20:30 deploy mariadb-prepare-db-</code><code>dir</code><code>[3969]: http:</code><code>//mariadb</code><code>.com</code><code>/kb/en/contributing-to-the-mariadb-project/</code>
<code>Aug 15 15:20:30 deploy mysqld_safe[4048]: 170601 15:20:33 mysqld_safe Logging to </code><code>'/var/log/mariadb/mariadb.log'</code><code>.</code>
<code>Aug 15 15:20:30 deploy mysqld_safe[4048]: 170601 15:20:33 mysqld_safe Starting mysqld daemon with databases from </code><code>/var/lib/mysql</code>
<code>Aug 15 15:20:35 deploy systemd[1]: Started MariaDB database server.</code>
4.连接并验证MariaDB Server
使用如下所示的mysql命令使用mysql的root用户连接到数据库
<code># mysql -u root</code>
<code>Welcome to the MariaDB monitor. Commands end with ; or \g.</code>
<code>Your MariaDB connection </code><code>id</code> <code>is 2</code>
<code>Server version: 5.5.52-MariaDB MariaDB Server</code>
<code> </code>
<code>Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.</code>
<code>Type </code><code>'help;'</code> <code>or </code><code>'\h'</code> <code>for</code> <code>help. Type </code><code>'\c'</code> <code>to </code><code>clear</code> <code>the current input statement.</code>
<code>MariaDB [(none)]></code>
以下show database命令将显示默认的mysql数据库。
<code>MariaDB [(none)]> show databases;</code>
<code>+--------------------+</code>
<code>| Database |</code>
<code>| information_schema |</code>
<code>| mysql |</code>
<code>| performance_schema |</code>
<code>| </code><code>test</code> <code>|</code>
5.执行MariaDB Post Installation步骤
从上方可以看出,默认情况下,安装不会为MySQL root帐户分配任何密码。
要设置mysql root用户密码并在数据库上执行其他安全配置,请执行如下所示的mysql_secure_installation脚本。
<code># /usr/bin/mysql_secure_installation</code>
<code>NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB</code>
<code> </code><code>SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!</code>
<code>In order to log into MariaDB to secure it, we'll need the current</code>
<code>password </code><code>for</code> <code>the root user. If you've just installed MariaDB, and</code>
<code>you haven't </code><code>set</code> <code>the root password yet, the password will be blank,</code>
<code>so you should just press enter here.</code>
由于这是我们第一次运行此脚本,因此没有为mysql root帐户分配密码。所以,请在这里输入
<code>Enter current password </code><code>for</code> <code>root (enter </code><code>for</code> <code>none): </code>
<code>OK, successfully used password, moving on...</code>
<code>Setting the root password ensures that nobody can log into the MariaDB</code>
<code>root user without the proper authorisation.</code>
在这个阶段,说“y”为MySQL根帐户分配密码。之后输入密码。
请注意,这个mysql root帐户与linux root帐户不同。所以,我们在这里设置mysql root帐号的密码,这与Linux root帐号无关。
<code>Set root password? [Y</code><code>/n</code><code>] y</code>
<code>New password: </code>
<code>Re-enter new password: </code>
<code>Password updated successfully!</code>
<code>Reloading privilege tables..</code>
<code> </code><code>... Success!</code>
作为默认安装的一部分,mysql安装匿名用户,无需真实用户即可登录数据库。所以我们应该删除这个用户
<code>Remove anonymous </code><code>users</code><code>? [Y</code><code>/n</code><code>] y</code>
<code>Normally, root should only be allowed to connect from </code><code>'localhost'</code><code>. This</code>
<code>ensures that someone cannot guess at the root password from the network.</code>
可以想像,mysql root帐号将可以访问所有的mysql数据库。所以,保持这个安全是很重要的。此外,我们应该确保来自其他服务器的远程客户端不允许使用此mysql root帐户进行连接。
相反,只有本地主机(其中安装了mysql服务器)可以使用root帐户进行连接。所以我们应该远程禁止root登录。
<code>Disallow root login remotely? [Y</code><code>/n</code><code>] y</code>
这是默认的测试数据库,我们应该删除它。
<code>Remove </code><code>test</code> <code>database and access to it? [Y</code><code>/n</code><code>] y</code>
<code> </code><code>- Dropping </code><code>test</code> <code>database...</code>
<code> </code><code>- Removing privileges on </code><code>test</code> <code>database...</code>
在这里输入y,以确保我们所做的所有更改将立即生效。
<code>Reload privilege tables now? [Y</code><code>/n</code><code>] y</code>
<code>Cleaning up...</code>
<code>All </code><code>done</code><code>! If you've completed all of the above steps, your MariaDB</code>
<code>installation should now be secure.</code>
<code>Thanks </code><code>for</code> <code>using MariaDB</code>
6.验证MySQL根访问
现在,如果您连接到没有root密码的Mysql,您将收到以下访问被拒绝的错误消息。
<code>ERROR 1045 (28000): Access denied </code><code>for</code> <code>user </code><code>'root'</code><code>@</code><code>'localhost'</code> <code>(using password: NO)</code>
要指定密码,请使用-p选项,如下所示。这将提示用户输入密码。
<code># mysql -u root -p</code>
<code>Enter password:</code>
另外,从下面的show databases命令可以看出,测试数据库现在被删除了。
如果要在mysql命令行中传递密码,请在-p选项旁边指定,如下所示。
<code># mysql -u root -pMySecurePassword</code>
注意:-p和密码之间没有空格。这可能会导致一些混淆,因为我们在-u和username之间有空格。但是,-p和密码之间没有空格。
本文转自 喵来个鱼 51CTO博客,原文链接:http://blog.51cto.com/m51cto/1958672,如需转载请自行联系原作者