linux 数据库的管理

一.数据库的安装

数据库(Database)是按照数据结构来 组织、存储和管理数据的建立在计算机存储设备上的仓库。常见的数据库有MySQL、SQL Server、Oracle、Sybase、DB2。MariaDB数据库管理系统是MySQL的一个分支。

首先安装数据库

yum search mariadb             //查找与mariadb有关的软件包
yum install mariadb-server.x86_64 -y    //安装mariadb的server软件和client软件


systemctl start mariadb       #####启动mariadb服务
systemctl enable mariadb  ####开启服务并设置为开机自启

查看数据库接口mysql    ##端口打开不安全

   netstat   -antuple   |   grep mysql

只允许本地连接,阻断所有来自网络的连接
    vim /etc/my.cnf    添加 skip-networking=1

systemctl restart mariadb.service

netstat -antlpe | grep mysql

  

二.数据库的使用

1.数据库的初始化

设置mysql的登陆密码
    mysql_secure_installation   初始化,输入密码(第一次直接回车),剩下的回车默认
    mysql -u   root -p   ##注意:密码不要写在-p后,不安全

2.数据库的查询

SHOW DATABASES; ##查看有哪些库


USE 库名称; ##进入这个库


SHOW TABLES; ###查询库里的表


DESC 表名称; ##表的结构


SELECT * FROM 表名称; ###查询表里所有内容


SELECT 字段1,字段2,.....FROM 表名称 WHERE 字段=‘字段信息’;


SELECT Host,user,select_priv  FROM WHERE user=‘localhost’;

3.创建数据库

CREATE DATABASE westos;            //创建以数据库名称为westos


create table linux(        //创建表(linux的表)
    -> username varchar(10) not null,
    -> passwd varchar(6) not null
    -> );

INSERT INTO  linux values ('jack','123');            //向表中插入内容


INSERT INTO linux (passwd,username) values("456","user2");    //按照指定顺序向表中插入数据

4.数据库的更改

ALTER TABLE linux ADD class varchar(20);             //添加class列到linux表中

UPDATE linux SET class='linux' where username="jack" AND passwd="123"; //更新表中的内容

ALTER TABLE linux DROP class;              不要class

ALTER TABLE linux ADD age varchar(20) AFTER passwd; 在password之后加,指定添加age

ALTER TABLE  linux RENAME user;    把表linux改成表user

delete from user where username='jack';            //删除表中用户名为jack的记录

DROP table user;                        //删除表


DROP DATABASE westos;                        //删除数据库

三.数据库用户管理

 1.用户创建  

CREATE USER   redhat@localhost identified by '123';
    //创建用户redhat,可在本机登陆,密码为123
CREATE USER hello@'%' identified by 'hello';
    //创建用户hello,可在远程登陆,密码为hello

create database ddd;

grant  all  on ddd.*  to  redhat@localhost;

//给redhat@localhost用户授权,授权所有权限,权限有(insert,update,delete,select,create)

用户添加成功

flush privileges;            //刷新,重载授权表

show grants for hello@localhost;    //查看用户授权

mysql -u redhat  -p 

可以用redhat用户查看ddd数据库的表

可以向表中插入内容

切换回root用户,删除指定用户授权

revoke all on ddd.* from redhat@localhost;

drop user hello@localhost;        //删除用户

四.忘记mysql用户密码时,怎么找回?

1. 关闭mariadb服务
    systemctl stop mariadb

2. 跳过授权表(数据库安全模式开启,不需要密码登陆)
    mysqld_safe  --skip-grant-tables  &


3. 修改root密码
    mysql
    UPDATE mysql.user SET Password=password('westos')  where User='root'; ##加密,密码westos


4. 关闭跳过授权表的进程,启动mariadb服务,使用新密码即可
    ps aux | grep  mysql
    kill -9 pid 所有进程id一个个结束

systemctl start mariadb.service
mysql -uroot -p 登陆

mysqladmin -uroot -pwestos password westos 密码记得时候修改密码

五.mysql的备份与恢复

mysqldump -uroot -predhat  userdata > /mnt/westos.sql    ##指定userdata数据库的资料备份

mysqldump  -uroot  -predhat  --all-database >  /mnt/data.all    所有数据库资料备份

mysqldump  -uroot  -predhat  --all-database  --no-data >  /mnt/data.err  ##只备份数据结构,不备份数据

恢复方式一:
vim /mnt/westos.sql
CREATE DATABASE userdata;
use userdata;

mysql -uroot -predhat < /mnt/westos.sql

恢复方式二:
    mysql -uroot -predhat -e "CREATE  DATABASE userdata;"
    mysql -uroot -predhat userdata < /mnt/westos.sql

猜你喜欢

转载自blog.csdn.net/qq_38449802/article/details/81809610