1. 数据库的简介
 定义:数据库(Database)就是一种按数据结构来组织,存储和管理数据的仓库,其中包含数据挖掘,大数据信息的推送。
 mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用GPL授权许可 mariadb的目的是完全兼容mysql,包括API和命令行,使之能轻松成为mysql的代替品。
 2. 安装数据库
    yum install mariadb-server.x86_64  -y    安装数据库软件systemctl start mariadb                  开启数据库mysql                                    进入数据库  

 
 3. mariadb的安全初始化
 默认情况下,数据库的网络接口是打开的,为了安全需要要关闭此接口
    vim  /etc/my.cnf                        编辑配置数据库文件skip-networking=1                       关闭网络接口systemctl restart  mariadb              重启数据库netstat -antlupe | grep mysql           查看登陆数据库的接口
先查看登陆数据库的接口,发现有接口,然后再编辑文件关闭网络接口,重启数据库之后再次查看,
 
 
 设定登陆密码:mysql_secure_installation
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]  刷新数据库
Reload privilege tables now? [Y/n] 	      允许下载表
里面所有的内容都选y,可以直接一直回车,只需中途输超级用户密码俩次就行
 
 
 
 4. 数据库的基本管理
mysql -uroot -p密码            -u表示指定登陆用户,-p 表示指定此用户密码
不建议-p后面直接跟密码,这样会泄露密码

 2)数据库的查询:
     MariaDB [(none)]> SHOW DATABASES;   ##显示数据库MariaDB [(none)]> USE mysql     ##进入数据库MariaDB [mysql]> SHOW TABLES;   ##显示库的tableMariaDB [mysql]> DESC user;     ##查看user表的结构MariaDB [mysql]> SELECT Host,User  FROM user;  ##查看表的具体信息




 5. 数据库的建立
  CREATE DATABASE westos;   ##建立westos数据库CREATE TABLE linux  )      ##建立以linux为格式的表-> usrname varchar(10) not null,-> password varchar(50) not null-> );DESC linux   ##查看创建该表的结构INSERT INTO linux VALUES ('zll','123');INSERT INTO linux VALUES ('zll1','westos');   ##给该中表中添加内容SELECT * FROM linux;    ##查看表中的内容

 

 建立的数据库名称设定完就不会更改,否则可能会在数据的查询使用中出现问题,稳定性很低,生产环境中基本不用
6. 往数据库里添东西:
ALTER TABLE linux ADD class varchar(20)  AFTER username;   添加class在username的后面
UPDATE linux SET class='linux';       更新班级为linux
UPDATE linux SET class='java' WHERE usrename='zll';   更改zll的班级为java

 
 
 7. 用户授权
  SELECT User FROM mysql.user;                       查看mysql用户CREATE USER zll@localhost identified by 'westos';  创建用户HAHA,密码为westosSHOW GRANTS FOR HAHA@localhost;                      查看用户HAHA权限

 
 insert权限的添加
 自己能给自己添加权限吗? 那肯定不行的啊,自己能给自己添加权限那还要root有毛用,
GRANT SELECT,INSERT on westos.* TO HAHA@localhost; 给HAHA用户在westos数据库中进行SELECT和INSERT的权限

 收回权限:
REVOKE SELECT,INSERT on westos.* FROM HAHA@localhost  收回HAHA用户在westos数据库中进行SELECT和INSERT的权限

 8. 用户删除:
      DROP USER HAHA@localhost     删除HAHA用户

 9. 数据库的备份:
mysqldump -uroot -p --all-database  查看数据库所有内容
mysqldump -uroot -p westos      查看westos数据库的脚本文件
mysqldump -uroot -p WESTOS > /mnt/westos.sql 将WESTOS数据库备份再/mnt/westos.sql

 备份好之后,就可以操作一波了,先删了吧
    DROP TABLE westos.linux;   删除表,但是数据库还在DROP DATABASE westos;      删除数据库

删了之后恢复
 方法一:
     mysql -uroot -p -e "CREATE DATABASE westos;";   创建数据库mysql -uroot -p westos < /mnt/westos.sql    备份的数据库文件恢复
方法二:
     vim /mnt/westos.sql编辑内容为:21 CREATE DATABASE westos;22 USE westos;mysql -uroot -pwestos < /mnt/westos.sql

 这是方法一
 下面看下第二种方法:
 先在文件中加点东西

 
 恢复数据库的前提是数据库被删了,所以试的时候一定要把数据库删了。
10. 超级用户密码修改
 超级用户密码的修改
     mysqladmin -uroot -pwestos password redhat     将密码westos改为redhat
当忘记超级用户密码;
  systemctl  stop mariadb                   ##关闭服务mysqld_safe --skip-grant-tables &			##开启mysql登陆接口并忽略授权表mysql							##直接不用密码可以登陆
update mysql.user set Password=password('westos') where User='root; 更新超级用户密码信息ps aux | grep mysql					##过滤mysql的所有进程并结束这些进程kill -9 mysqlpid
systemctl start mariadb					##重新开启mysqlmysql -uroot -pwestos					##登陆测试

 