一.数据库mariadb简介

Linux的数据库mariadb_数据库


二.安装与启动服务,检查端口状态

Linux的数据库mariadb_数据库_02

Linux的数据库mariadb_数据库_03


三.安装后使用前的准备

1.关闭数据库开启的网络接口

Linux的数据库mariadb_数据库_04

vim /etc/my.cnf

Linux的数据库mariadb_数据库_05

skip-networking=1     关闭数据库开启的网络接口


2.数据库安全初始化
 mysql_secure_installation

Linux的数据库mariadb_数据库_06


提问解释:

Enter current password for root (enter for none):          数据库原始密码(默认没有直接回车)
Set root password? [Y/n]      是否要设定数据库超级用户密码
New password:              输入要设定的超级用户密码
Re-enter new password:          重复输入

Remove anonymous users? [Y/n]      是否删除匿名用户访问权限

Disallow root login remotely? [Y/n]          是否禁止超级用户通过远程登陆

Remove test database and access to it? [Y/n]     刷新数据库


全部点回车即可


四.数据库的基本sql语句操作
1.登陆
mysql -uroot -pwestos       -u表示指定登陆用户,-p 表示指定此用户密码

Linux的数据库mariadb_数据库_07


2.查询(查询语言大小写字母都可以使用,企业中为了规范需要使用大写)
show databases;         显示数据库

Linux的数据库mariadb_数据库_08


use mysql;           进入mysql库

Linux的数据库mariadb_数据库_09


show tables;           显示当前库中表的名称

Linux的数据库mariadb_数据库_10


desc user;         查询user表的结构(显示所有字段的名称)

Linux的数据库mariadb_数据库_11


select * from user;        查询user表中的所有内容(*可以用此表中的任何字段来代替)

Linux的数据库mariadb_数据库_12

加上查询条件

Linux的数据库mariadb_数据库_13


3.数据库及表的建立
create database westos;    建立westos库,创建linux表

Linux的数据库mariadb_数据库_14


insert into linux values ('user1','passwd1'); 添加linux表中的信息

Linux的数据库mariadb_数据库_15Linux的数据库mariadb_数据库_16


4.数据库的修改

alter table linux rename message;     修改数据库表名

Linux的数据库mariadb_数据库_17


alter table linux add class;          在表中添加class列

Linux的数据库mariadb_数据库_18


在表中password后添加class列

Linux的数据库mariadb_数据库_19


update linux set class='linux';    更新表中的数据(全部列)

Linux的数据库mariadb_数据库_20


更新表中名字为lee一栏的class为jave (有条件的更新,不是整列)

Linux的数据库mariadb_数据库_21


5.数据库的删除

alter table linux drop class;       删除linux表中的class列

Linux的数据库mariadb_数据库_22


delete  from linux where username='user1';     删除user1的数据从linux表中

drop table linux;                                                删除linux表
drop database westos;                                     删除westos库

Linux的数据库mariadb_数据库_23


五.数据库的备份

mysqldump -u root -pwestos --all-database                          备份所有表中的左右数据
mysqldump -u root -pwestos --all-database --no-data         备份所有表,但不备份数据
mysqldump -u root -pwestos westos                                      备份westos库
mysqldump -u root -pwestos westos  > /mnt/westos.sql      备份westos库并把数据保存到westos.sql中
mysqldump -uroot -pwestos westos linux > /mnt/linux.sql   备份westos库中的linux表
mysqldump -uroot -pwestos westos test > /mnt/test.sql       备份westos库中的test表


1.备份westos库并把数据保存westos.sql中

Linux的数据库mariadb_数据库_24


2.删除westos库

Linux的数据库mariadb_数据库_25


3.恢复westos库

mysql -uroot -pwestos -e "create database westos;"     建立westos库
mysql -uroot -pwestos westos < /mnt/westos.sql           把数据导入westos库

Linux的数据库mariadb_数据库_26


4.进入数据库,查看westos库正常

Linux的数据库mariadb_数据库_27


六.密码修改

Linux的数据库mariadb_数据库_28

1.关闭数据库服务,开启mysql登陆接口并忽略授权表   mysqld_safe --skip-grant-tables &           

Linux的数据库mariadb_数据库_29


2.mysql    直接不用密码可以登陆
update mysql.user set Password=password('westos') where User='root';    更新超级用户密码信息(加密)

Linux的数据库mariadb_数据库_30

查看更新加密后的密码

Linux的数据库mariadb_数据库_31


3.ps aux | grep mysql        过滤mysql的所有进程
kill -9 mysqlpid                     结束这些进程

systemctl start mariadb       重新开启mysql
mysql -uroot -pwestos         登陆测试

Linux的数据库mariadb_数据库_32

Linux的数据库mariadb_数据库_33



七.用户授权

Linux的数据库mariadb_数据库_34

1.create user lee@localhost identified by 'westos'; 建立用户lee,密码westos,此用户只能通过本机登陆

   create user lee@'%' identified by 'westos';            建立用户lee,密码westos,此用户可以通过网络登陆

2.grant insert,update,delete,select on westos.test to lee@localhost;  用户授权

    grant select on westos.* to lee@'%'


Linux的数据库mariadb_数据库_35


3.show grants for lee@'%'                     查看用户授权
show grants for lee@localhost    

Linux的数据库mariadb_数据库_36


用lee用户登陆后可以查看、删除

Linux的数据库mariadb_数据库_37

Linux的数据库mariadb_数据库_38


4.revoke delete on westos.* from lee@localhost;           去除用户授权权力

去除lee用户的delete权力后无法删除表中数据

Linux的数据库mariadb_数据库_39

Linux的数据库mariadb_数据库_40


5.drop user lee@localhost           删除lee用户

   drop user lee@'%'                      删除用户

Linux的数据库mariadb_数据库_41



八.数据库的网页管理工具
1.安装服务和准备phpMyAdmin包
systemctl start httpd
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld 

phpMyAdmin-3.4.0-all-languages.tar.bz2


2.配置数据库的网页管理工具


解压phpMyAdmin包,将解压后的目录重命名为mysqladmin

Linux的数据库mariadb_数据库_42


查看phpMyAdmin配置文件Documentation,找到软件码

Linux的数据库mariadb_数据库_43

复制phpMyAdmin中的配置模版文件,编辑模版文件,将软件码添加到配置文件中

Linux的数据库mariadb_数据库_44

vim config.inc.php

Linux的数据库mariadb_数据库_45


安装   yum install  php php-mysql -y

Linux的数据库mariadb_数据库_46


3.测试:访问http://172.25.254.128/mysqladmin

Linux的数据库mariadb_数据库_47

Linux的数据库mariadb_数据库_48

Linux的数据库mariadb_数据库_49

Linux的数据库mariadb_数据库_50

Linux的数据库mariadb_数据库_51


登陆成功,可以编辑库,标记表,编辑后可以看到sql语句,对于学习语句和提高编辑效率有很大的帮助。


MariaDB物理备份工具Mariabackup

mariadb10.1以上版本使用的是mariabackup这个备份工具,而不是 xtrabackup,mariabackup是要单独安装的,yum install MariaDB-backup。安装完后按照一下步骤操作:


源服务器:


1、源服务器创建一个备份的目标目录,例如mkdir var/databasebackup,附加读写权限;


2、用mariabackup --backup --target-dir var/databasebackup --user username --password userpassword ,备份的是服务器上所有数据库,当然你也可以加参数--databases来指定要备份数据库;


目标服务器:


1、同样建立一个还原的目标目录,例如mkdir var/databasebackup,附加读写权限;


2、把源服务器上备份的数据库文件拷贝到目标服务器var/databasebackup下;


3、先用mariabackup --prepare --target-dir var/databasebackup --user username --password userpassword,将备份文件规范化,这里可以获得备份文件的备份log节点,有助于主从同步使用,假如你有主从同步的话;


4、用 mariabackup --copy-back --target-dir var/databasebackup --user username --password userpassword ,来还原数据库;(记住在还原前清掉数据库目录)


5、将数据库文件附上数据库权限,chown -R mysql:mysql /var/lib/mysql


6、重启服务器systemctl restart mysql。