Centos7/RHEL7安装MariaDB

对于使用RHEL7的人来说几乎都知道红帽和centos系统的关系,centos是RHEL的免费版本,就是将RHEL系统中收费的软件以及红帽的商标抽离出来,再重新编译一个船新版本,所以我们是不会在centos7的yum仓库中安装到要收费的软件,可能对于一些小企业或者个人以及学校机构来说这无关大雅,但是如果是一个大企业或者大商业公司来说,在公司的系统中安装一些盗版软件或者收费软件而没有付费使用,分分钟就是律师涵警告(别问我是怎么知道的,有些人亲身经历,有些人亲眼目睹),所以现在安装系统或者软件我都是首选开源和免费的,安装RHEL的同学如果没有购买服务你会发现yum源用不了,不像centos一样系统安装完成后配置好网络直接yum安装所需的开发环境,对于想要用RHEL的帅气,又不想浪费时间更改yum源,更不想花一分钱购买服务而只是单纯学习这个系统的人来说其实也是有办法的,这要从我们的安装镜像下手,linux是一个小巧而精致的系统,但是iso文件却和windows那么大,估计大家都发现玄机了,其实安装光盘或镜像中包含了大部分我们日常使用的软件,例如apache,ftp,tftp,mariadb等。但是想要使用这些资源就得学会挂载光盘和配置yum源,步骤我就不重复了,我有写过博客。

RHEL7挂载光盘:https://blog.csdn.net/zZzZzZ__/article/details/102906385

RHEL7配置yum源:https://blog.csdn.net/zZzZzZ__/article/details/96496407

既然是讲解数据库管理技术,就肯定绕不开MySQL。MySQL是一款市场占有率非常高的数据库管理系统,技术成熟、配置步骤相对简单,而且具有良好的可扩展性。但是,由于Oracle公司在2009年收购了MySQL的母公司Sun,因此MySQL数据库项目也随之纳入Oracle麾下,逐步演变为保持着开源软件的身份,但又申请了多项商业专利的软件系统。开源软件是全球黑客、极客、程序员等技术高手在开源社区的大旗下的公共智慧结晶,自己的劳动成果被其他公司商业化自然也伤了一大批开源工作者的心,因此由MySQL项目创始者重新研发了一款名为MariaDB的全新数据库管理系统。该软件当前由开源社区进行维护,是MySQL的分支产品,而且几乎完全兼容MySQL。

与此同时,由于各大公司之间存在着竞争关系或利益关系,外加MySQL在被收购之后逐渐由开源向闭源软件转变,很多公司抛弃了MySQL。当前,谷歌、维基百科等技术领域决定将MySQL数据库上的业务转移到MariaDB数据库,Linux开源系统的领袖红帽公司也决定在RHEL 7、CentOS 7以及最新的Fedora系统中,将MariaDB作为默认的数据库管理系统,而且红帽公司更是首次将数据库知识加入到了RHCE认证的考试内容中。随后,还有数十个常见的Linux系统(如openSUSE、Slackware等)也作出了同样的表态——引自《linux就该这样学》 

 对MariaDB有了初步了解后我们开始在RHEL7系统上安装MariaDB数据,安装过程非常简单,只需要一条命令就搞定。

sudo yum install mariadb mariadb-server -y 

安装完成之后我们需要对数据库进行配置,在配置之前需要启动数据库服务,最好也将其加入开机启动项。

sudo systemctl start mariadb #启动数据库
sudo systemctl enable mariadb #加入开机启动项

mysql_secure_installation #配置数据库

在终端输入 mysql_secure_installation,接着就可以在交互界面中进行数据库的一些基本配置了 

Enter current password for root (enter for none): 输入当前数据库的root密,其实我们可以多次输入mysql_secure_installation这条命令来进行数据库的设置,因为我们刚装好数据库,是第一次配置,所以root密码我们是没有设置的,所以为空,根据括号中的提示,按回车键输入空密码,我们直接按回车键。

Set root password? [Y/n] 是否设置root密码,输入n表示不设置,输入y表示设置,我们输入y设置一个root密码,接着输入两次密码。

Remove anonymous users? [Y/n] 是否删除匿名用户,我们选择y删除,为了安全尽量删除一些没有用的东西,提高数据库安全性

Disallow root login remotely? [Y/n] 是否禁止root用户远程登陆,意思就是从其他电脑通过远程登陆到本地数据库,如果是生产环境这个选项就选择y,禁止,这样一来我们就只能通过在本机使用root用户登陆到数据库,其他电脑只能通过非root账户访问数据库,自己用来学习玩的话无所谓随便选一个,我选y,反正也不会有人来黑我。

Remove test database and access to it? [Y/n] 是否删除测试数据库,每次安装完数据库都会伴随着一些测试数据库的创建,一般选择删除,留着也没啥用。

Reload privilege tables now? [Y/n] 是否立即加载特权表,这里选择y,使所有配置生效,数据库配置完毕!

登陆数据库,我设置的密码是123456,登陆命令为mysql -u用户名 -p密码。

mysql -uroot -p123456

 有没有发现似曾相识,我们用的是mariadb,然而登陆和mysql没有任何差别,甚至接下来的命令也是mysql的命令,丝毫没有差别,只是数据库名由mysql变成了mariadb,有没有想起RHEL系统由收费变成了centos系统免费,开源社区的危机意识很强。

创建数据库mydata和查看数据库

CREATE DATABASE mydata; #创建数据库mydata
SHOW DATABASES; #查看数据库

use mydata; #选择数据库
SHOW TABLES; #查看数据库中的表

  • 增 
CREATE TABLE books (bookname char(15), price int, pages int); #建表
DESCRIBE books; #查看表结构
INSERT INTO books(bookname,price,pages) VALUES('linux',59,9999); #向表中插入一条数据(增)

  • 查 
SELECT * FROM books; #查看表中所有数据(查)
SELECT bookname,price FROM books; #查看表中字段为bookname和price的数据(查)

UPDATE books SET price=60 WHERE bookname='linux'; #改动一条数据
UPDATE books SET pages=60; #改动所有pages数据

DELETE FROM books WHERE bookname='python'; #删除一条数据
DELETE FROM books; #删除表中所有数据

  •  数据库备份
mysqldump -u root -p mydata > /home/none/mydata.dump #-p后面接数据库名称而不是数据库密码,回车后会提示输入密码

  • 数据库还原

首先要登陆数据库,然后创建一个和要还原的数据库同名的数据库,然后才能执行恢复命令 

mysqldump -u root -p mydata < /home/none/mydata.dump #恢复数据库

数据库插入中文显示乱码

 修改/etc/my.cnf.d/server.cnf文件找到[mysqld]字段,添加两行代码。然后重启mariadb,修改配置文件最好是在创建数据库之前或者创建数据表之前修改,如果向数据表中插入了中文然后出现乱码,然后再修改配置文件再向数据表中插入中文,那么修改配置文件之后插入的中文不会乱码,但是修改之前的乱码不会改变,还是乱码,只有删除之后再重新插入才不会乱码。

发布了92 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zZzZzZ__/article/details/103428433