数据库之数据库的部署与管理

 

数据库是用来存放数据表格的

1.数据库的安全初始化

<1>yum install mariadb-server -y      #下载数据库软件

<2>systemctl start mariadb

<3>systemctl stop firewalld

 

<4>mysql    #可以进行免密登陆,此时所有的客户端都可以登陆

<5>netstsat -antlpe | grep  mysql          #查看mysql的状态,对外开放

<6>vim /etc/my.cnf    

skip-networking=1  #开启跳过网络接口功能即关闭mysql的网络接口

<7>systemctl restart mariadb #修改完配置文件之后必须重启服务才生效

<8>netstsat -antlpe | grep  mysql #再次查看端口,已经关闭,此时只有本地用户可以登陆

 

<9>mysql  #本地用户免密登陆,这样不安全

<10>mysql_secure_installation #设置数据库安全初始化脚本,使超级用户用密码登陆,以及限制其他用户登陆

 

<11>mysql -uroot -p    #超级用户用密码登陆

2.查看数据库

mysql -uroot -p    #登陆上去后执行以下命令

<1>SHOW DATABASES;    #显示所有数据库(相当于ls)

<2>USE mysql;     #切换到mysql数据库中(相当于cd)

<3>SHOW tables;    #显示数据库中所有的表格(相当于ls)

<4>SELECT User,Host,Password,Select_priv  FROM user Where User='root';    #从root用户的User中查询

 

<5>SELECT User,Host,Password,Select_priv  FROM user Where User='root' AND host='localhost';   #查询user表的数据结构

<6> DESC user;       #查看user表中的字段

3.数据库的新建

 

<1>CREATE DATABASE westos  #创建数据库westos

<2>SHOW DATABASES;   #查看westos是否成功创建

<3>USE  westos;

<4>SHOW TABLES;  #查看westos中的表格

Empty set (0.00 sec)  #表格为空

<5>CREATE TABLE linux(

    -> username varchar(6) not null,

    -> password varchar(10) not null);#新建数据库westos中的表格linux

Query OK, 0 rows affected (0.43 sec)

<5>SHOW TABLES;     #查看新建的表格

<5>DESC linux;

<6>INSERT INTO linux values ('wang','111');   #在linux表格中插入信息

 

<7> INSERT INTO linux values ('ting','222');

<8>SELECT * FROM linux;   #查看linux表格中的所有信息

4.数据库表的数据的更改:

<1>ALTER TABLE linux RENAME messages;   #把表格的名字linux改为messages

<2>SHOW TABLES;

<3>ALTER TABLE messages ADD age varchar(10);   #在表格中添加age

Query OK, 2 rows affected (0.41 sec)

Records: 2  Duplicates: 0  Warnings: 0

<4>DESC messages;

<5> ALTER TABLE messages DROP age;    #删除age

<6>DESC messages;

<7> ALTER TABLE messages ADD age varchar(10) AFTER username;  #有顺序的添加age

Query OK, 2 rows affected (0.42 sec)

Records: 2  Duplicates: 0  Warnings: 0

 

<8> DESC messages;

<9> UPDATE messages SET password='123' WHERE username='wang'; #更改用户wang的密码为123

Query OK, 1 row affected (0.04 sec)

Rows matched: 1  Changed: 1  Warnings: 0

<10>SELECT * FROM messages;

<11> DELETE from messages WHERE username='wang';#删除表格中的wang用户

<12> DROP TABLE messages; #删除表格

<13> DROP DATABASE westos; #删除数据库

5.用网页管理数据库(比上述方法更方便)

<1>yum install httpd php  -y  #安装网页管理数据库需要的服务

<2>systemctl start httpd      #开启服务

<3>systemctl stop firewalld   #关闭防火墙

<4>cd /var/www/html/

<5>ls  #有此安装包,就直接进行解压,没有此安装包,就先获取安装包

<6>tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 #解压bz2的安装包

<7>ls  #查看是否成功解压

<8>mv phpMyAdmin-3.4.0-all-languages/ mysqladmin #改名字

<9>打开浏览器输入:  172.25.254.138/mysqladmin/ #此时会报错,因为没有mysql功能

<10>yum install php-mysql.x86_64 -y #在php中添加mysql功能

<11>systemctl restart httpd

<12>再次打开浏览器输入:  172.25.254.138/mysqladmin/ #可以访问

 

6.用户授权

mysql -uroot -p    #登陆

先创建用户:

<1>CREATE user lala@localhost identified by '111'; #创建密码为111的本地用户lala,只在本地可以登陆,localhost表示本地

 

<2>CREATE user helen@'%' identified by '222';#创建密码为222的远程用户,都可以登陆,'%'表示远程

 

 

<3>SELECT user from mysql.user;  #查看建立的用户

 

开始授权:

<1>GRANT UPDATE,SELECT,INSERT on westos.* to lala@localhost;

#给本地用户授权,该用户可以对westos数据库进行编辑,插入,更新

<2>GRANT SELECT on westos.*  to  helen@'%';   #给远程用户授权

<3>SHOW GRANTS for lala@localhost;  #查看权限

<4>SHOW GRANTS for helen@'%';

 

<5>REVOKE INSERT on westos.* FROM lala@localhost; #撤销用户权限

<6>FLUSH privileges      #重载授权表  

打开浏览器开始测试:

 

<7>授权之前,查看不到westos

<8>授权之后,可以查看到westos

<9>更改信息

7.用户密码更改

mysqladmin -uroot -pwestos password 'redhat' #直接修改密码

若普通用户密码忘记,可以通过root用户更改密码,若root用户密码忘记,执行以下操作

<1>systemctl stop mariadb

<2>mysqld_safe --skip-grant-tables  &

<3>\

 

<4>mysql      #进入数据库修改

<5>UPDATE mysql.user set Password='westos' where User='root'; #此方法时用明文修改密码

 

<6> SELECT  * FROM mysql.user;   #查看密码

 

<7>UPDATE mysql.user set Password=password('westos') where User='root';  ##此方法修改密码是加密的

<8> SELECT  * FROM mysql.user;

<9>quit   #退出数据库

 

<10>ps aux | grep mysql  #查看mysql相关进程,全部关闭

<11>killall -9 mysqld_safe  #关闭mysqld_safe进程

<12>kill -9 3785   #关闭myaql进程

<13>systemctl restart mariadb.service   #重启服务

<14>mysql -uroot -p   #用修改后的密码重新登陆

8.数据库资料备份和恢复

quit  #退出数据库

 

<1>mysqldump -uroot -pwestos --all-database  > /mnt/westos.all ##备份所有数据库数据

 

  

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

 

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

<2>ls /mnt/

<3> mysql -uroot -pwestos -e "drop database westos;"  #模拟数据库丢失

<4> mysql -uroot -pwestos -e "show databases;"  #查看是否成功丢失

 

<5>mysql -uroot -pwestos westos < /mnt/westos.sql  #恢复丢失的数据库,但此时会报错

如何解决此问题

方法一:

<5>vim /mnt/westos.sql   #编辑备份文件

 

<6>mysql -uroot -pwestos  < /mnt/westos.sql  #此时就可以成功恢复了

方法二:

用第二种方法时候将第一种方法文件中填写的内容删除

 

 mysql -uroot -pwestos -e "drop database westos;"  #模拟丢失

<7>mysql -uroot -pwestos -e "CREATE DATABASE westos;" #创建

<8>mysql -uroot -pwestos westos < /mnt/westos.sql  #恢复

<9>mysql -uroot -pwestos -e "show databases;"  #查看是否恢复

 

 

猜你喜欢

转载自blog.csdn.net/wzt888_/article/details/80518579