6步在CentOS安装和配置MariaDB MySQL

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 - 包含客户机程序界面所需的共享库。

#yuminfomariadb-server
Loadedplugins:fastestmirror
Loadingmirrorspeedsfromcachedhostfile
*base:repos-va.psychz.net
*extras:linux.cc.lehigh.edu
*updates:mirror.us.leaseweb.net
AvailablePackages
Name:mariadb-server
Arch:x86_64
Epoch:1
Version:5.5.52
Release:1.el7
Size:11M
Repo:base/7/x86_64

2.安装MariaDB MySQL服务器

使用yum install安装如下所示的MariaDB MySQL服务器软件包。

#yuminstallmariadb-server

此时,在这个服务器上,已经安装了mariadb-server以及以下依赖的包。

mariadb-server.x86_641:5.5.52-1.el7
mariadb-libs.x86_641:5.5.52-1.el7
mariadb.x86_641:5.5.52-1.el7
libaio.x86_640:0.3.109-13.el7
perl-DBD-MySQL.x86_640:4.023-5.el7
perl-DBI.x86_640:1.627-4.el7
perl-Compress-Raw-Bzip2.x86_640:2.061-3.el7
perl-Compress-Raw-Zlib.x86_641:2.061-4.el7
perl-Data-Dumper.x86_640:2.145-3.el7
perl-IO-Compress.noarch0:2.061-2.el7
perl-Net-Daemon.noarch0:0.48-5.el7
perl-plRPC.noarch0:0.2020-14.el7

验证确保这已经安装了三个重要的MariaDB mysql包。

#rpm-qa|grep-imaria
mariadb-5.5.52-1.el7.x86_64
mariadb-server-5.5.52-1.el7.x86_64
mariadb-libs-5.5.52-1.el7.x86_64

3.启动MariaDB数据库

如下所示,mariadb数据库服务器模块已加载,但尚未启动。

#systemctlstatusmariadb
?mariadb.service-MariaDBdatabaseserver
Loaded:loaded(/usr/lib/systemd/system/mariadb.service;disabled;vendorpreset:disabled)
Active:inactive(dead)

使用systemctl启动MariaDB mysql服务器,如下:

#systemctlstartmariadb

验证systemctl状态以确保mariadb数据库服务器已成功启动

#systemctlstatusmariadb
?mariadb.service-MariaDBdatabaseserver
Loaded:loaded(/usr/lib/systemd/system/mariadb.service;disabled;vendorpreset:disabled)
Active:active(running)sinceThu2017-06-2618:26:35UTC;13sago
Process:4049ExecStartPost=/usr/libexec/mariadb-wait-ready$MAINPID(code=exited,status=0/SUCCESS)
Process:3969ExecStartPre=/usr/libexec/mariadb-prepare-db-dir%n(code=exited,status=0/SUCCESS)
MainPID:4048(mysqld_safe)
CGroup:/system.slice/mariadb.service
+-4048/bin/sh/usr/bin/mysqld_safe--basedir=/usr
+-4206/usr/libexec/mysqld--basedir=/usr--datadir=/var/lib/mysql--plugin-dir=/usr/lib64/mysql/plugin--log-error=/var/log/mariadb/ma...

Aug1515:20:30deploymariadb-prepare-db-dir[3969]:ThelatestinformationaboutMariaDBisavailableathttp://mariadb.org/.
Aug1515:20:30deploymariadb-prepare-db-dir[3969]:YoucanfindadditionalinformationabouttheMySQLpartat:
Aug1515:20:30deploymariadb-prepare-db-dir[3969]:http://dev.mysql.com
Aug1515:20:30deploymariadb-prepare-db-dir[3969]:SupportMariaDBdevelopmentbybuyingsupport/newfeaturesfromMariaDB
Aug1515:20:30deploymariadb-prepare-db-dir[3969]:CorporationAb.Youcancontactusaboutthisatsales@mariadb.com.
Aug1515:20:30deploymariadb-prepare-db-dir[3969]:Alternativelyconsiderjoiningourcommunitybaseddevelopmenteffort:
Aug1515:20:30deploymariadb-prepare-db-dir[3969]:http://mariadb.com/kb/en/contributing-to-the-mariadb-project/
Aug1515:20:30deploymysqld_safe[4048]:17060115:20:33mysqld_safeLoggingto'/var/log/mariadb/mariadb.log'.
Aug1515:20:30deploymysqld_safe[4048]:17060115:20:33mysqld_safeStartingmysqlddaemonwithdatabasesfrom/var/lib/mysql
Aug1515:20:35deploysystemd[1]:StartedMariaDBdatabaseserver.


4.连接并验证MariaDB Server

使用如下所示的mysql命令使用mysql的root用户连接到数据库

#mysql-uroot
WelcometotheMariaDBmonitor.Commandsendwith;or\g.
YourMariaDBconnectionidis2
Serverversion:5.5.52-MariaDBMariaDBServer

Copyright(c)2000,2016,Oracle,MariaDBCorporationAbandothers.

Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.
MariaDB[(none)]>


以下show database命令将显示默认的mysql数据库。

MariaDB[(none)]>showdatabases;
+--------------------+
|Database|
+--------------------+
|information_schema|
|mysql|
|performance_schema|
|test|
+--------------------+


5.执行MariaDB Post Installation步骤

从上方可以看出,默认情况下,安装不会为MySQL root帐户分配任何密码。

要设置mysql root用户密码并在数据库上执行其他安全配置,请执行如下所示的mysql_secure_installation脚本。

#/usr/bin/mysql_secure_installation

NOTE:RUNNINGALLPARTSOFTHISSCRIPTISRECOMMENDEDFORALLMariaDB
SERVERSINPRODUCTIONUSE!PLEASEREADEACHSTEPCAREFULLY!

InordertologintoMariaDBtosecureit,we'llneedthecurrent
passwordfortherootuser.Ifyou'vejustinstalledMariaDB,and
youhaven'tsettherootpasswordyet,thepasswordwillbeblank,soyoushouldjustpressenterhere.


由于这是我们第一次运行此脚本,因此没有为mysql root帐户分配密码。所以,请在这里输入

Entercurrentpasswordforroot(enterfornone):
OK,successfullyusedpassword,movingon...

SettingtherootpasswordensuresthatnobodycanlogintotheMariaDB
rootuserwithouttheproperauthorisation.



在这个阶段,说“y”为MySQL根帐户分配密码。之后输入密码。

请注意,这个mysql root帐户与linux root帐户不同。所以,我们在这里设置mysql root帐号的密码,这与Linux root帐号无关。

Setrootpassword?[Y/n]y
Newpassword:
Re-enternewpassword:
Passwordupdatedsuccessfully!
Reloadingprivilegetables..
...Success!

作为默认安装的一部分,mysql安装匿名用户,无需真实用户即可登录数据库。所以我们应该删除这个用户

Removeanonymoususers?[Y/n]y
...Success!

Normally,rootshouldonlybeallowedtoconnectfrom'localhost'.This
ensuresthatsomeonecannotguessattherootpasswordfromthenetwork.

可以想像,mysql root帐号将可以访问所有的mysql数据库。所以,保持这个安全是很重要的。此外,我们应该确保来自其他服务器的远程客户端不允许使用此mysql root帐户进行连接。

相反,只有本地主机(其中安装了mysql服务器)可以使用root帐户进行连接。所以我们应该远程禁止root登录。

Disallowrootloginremotely?[Y/n]y
...Success!


这是默认的测试数据库,我们应该删除它。

Removetestdatabaseandaccesstoit?[Y/n]y
-Droppingtestdatabase...
...Success!
-Removingprivilegesontestdatabase...
...Success!

在这里输入y,以确保我们所做的所有更改将立即生效。

Reloadprivilegetablesnow?[Y/n]y
...Success!

Cleaningup...

Alldone!Ifyou'vecompletedalloftheabovesteps,yourMariaDB
installationshouldnowbesecure.

ThanksforusingMariaDB

6.验证MySQL根访问

现在,如果您连接到没有root密码的Mysql,您将收到以下访问被拒绝的错误消息。

#mysql-uroot
ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:NO)

要指定密码,请使用-p选项,如下所示。这将提示用户输入密码。

#mysql-uroot-p
Enterpassword:

另外,从下面的show databases命令可以看出,测试数据库现在被删除了。

MariaDB[(none)]>showdatabases;
+--------------------+
|Database|
+--------------------+
|information_schema|
|mysql|
|performance_schema|
+--------------------+

如果要在mysql命令行中传递密码,请在-p选项旁边指定,如下所示。


#mysql-uroot-pMySecurePassword

注意:-p和密码之间没有空格。这可能会导致一些混淆,因为我们在-u和username之间有空格。但是,-p和密码之间没有空格。

相关文章

#使用军哥的lnmp配置虚拟主机,需要注意的是要配置hosts文件(...
一、配置编译环境 yum update && yum upgra...
一、下载repo文件 二、备份并替换系统的repo文件 三、执行yu...
LAMP -- Linux Apache MySQL PHP 在CentOS安装的顺序,我一般...
一、下载nginx安装包,官网下载中心http://nginx.org/downlo...
1.下载composer curl -sS https://getcomposer.org/installe...