Linux---mariadb数据库的基本操作及数据库用户管理和资料备份

mariadb 简介

MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可 MariaDB 的目的是完全兼容MySQL ,包括 API 和命令行,是 MySQL 的代替品。

MariaDB 由 MySQL 的创始人 Michael Widenius (英语:Michael Widenius )主导开发,他早前曾以 10 亿美元的价格,将自己创建的公司 MySQL AB 卖给了 SUN ,此后,随着SUN 被甲骨文收购, MySQL 的所有权也落入 Oracle 的手中MariaDB 名称来自 Michael Widenius 的女儿 Maria 的名字。

一、数据库的设置

[root@localhost ~]# yum install mariadb-server -y     ##安装数据库
[root@localhost ~]# systemctl start mariadb      ##打开设置开启

[root@localhost ~]# mysql       ##不需要密码就可以登陆


[root@localhost ~]# netstat -antlpe | grep mysql     ##查看数据库接口mysql,3306接口打开不安全
   
[root@localhost ~]# systemctl stop firewalld      ##关闭防火墙
[root@localhost ~]# vim /etc/my.cnf       ##修改配置文件
         ##关闭数据库接口
[root@localhost ~]# systemctl restart mariadb      ##重启数据库
[root@localhost ~]# netstat -antlpe | grep mysql   ##重启后再次查看数据库接口。不对外开放
[root@localhost ~]# mysql_secure_installation   ##修改数据库密码

      ##写入密码


[root@localhost ~]# mysql -uroot -p    ##登陆数据库    注意:密码不要写在-p后(quit退出)


二、数据库编辑

1.数据库基本操作:

[root@localhost ~]# mysql -uroot -p
Enter password:

MariaDB [(none)]> SHOW DATABASES;     ##显示数据库(相当于ls)


MariaDB [(none)]> USE mysql;       ##进入数据库(相当于cd)

MariaDB [mysql]> SHOW TABLES;   ##显示数据库中的表格(相当于ls)


MariaDB [mysql]> SELECT * FROM user;    ##查询user表中的所有信息


MariaDB [mysql]> SELECT User,Host,Password FROM user; 

##查询user表中的User,Host,Password信息


MariaDB [mysql]> SELECT User,Host,Password FROM user Where User='root'; ##查询user表的User,Host,Password信息中使用名为root的用户


MariaDB [mysql]> DESC user;  ##查询user表的数据结构(有哪些字段)


2.新建数据库:

[root@localhost ~]# mysql -uroot -p
Enter password:
MariaDB [(none)]> CREATE DATABASE westos;     ##新建数据库
MariaDB [(none)]> SHOW DATABASES;    ##列出当前已有的库

MariaDB [(none)]> USE westos;

MariaDB [westos]> SHOW TABLES;

MariaDB [westos]>
CREATE TABLE linux (      ##新建数据库westos中的表格
    -> username varchar(6) not null,     ##创建字段username,字符长最大为6,不能为空
    -> password varchar(50) not null);   ##创建字段password,字符长最大为50,不能为空

MariaDB [westos]> SHOW TABLES;   

MariaDB [westos]> DESC linux;   ##列出表结构

MariaDB [westos]> INSERT INTO linux values ('dmf','999');   ##在linux表格中插入信息


MariaDB [westos]> SELECT * FROM linux;  ##查看linux表格中的所有信息  


3.更改数据库结构:

[root@localhost ~]# mysql -uroot -p

Enter password:

MariaDB [(none)]> USE westos;

MariaDB [westos]> SHOW TABLES;
   
MariaDB [westos]> ALTER TABLE linux RENAME messages;      ##修改表格名字,将linux修改为messages
   
MariaDB [westos]> SHOW TABLES;      ##查看表格

  

MariaDB [westos]> ALTER TABLE messages RENAME linux;    ##修改表格名字
   

MariaDB [westos]> ALTER TABLE linux ADD age varchar(50);      ##在linux表格中添加age字段,随意位置
   
MariaDB [westos]> select * from linux;    ##查看表格中信息,age字段在最后
   
MariaDB [westos]> ALTER TABLE linux DROP age;    ##在linux表格中移除age字段
   
MariaDB [westos]> ALTER TABLE linux ADD age varchar(50) AFTER username;   ##在linux表格中添加age字段,位置在username后

MariaDB [westos]> select * from linux;      ##查看表格中信息,age字段指定在username字段的后面
   

MariaDB [westos]> ALTER TABLE linux DROP age;      ##在linux表格中移除age字段

   


4.更改数据库数据

MariaDB [westos]> UPDATE linux SET password='888' WHERE username='dmf';  ##修改linux表格中的password信息

MariaDB [westos]> select * from linux;

    

MariaDB [westos]> DELETE FROM linux WHERE username='dmf';   ##删除表格中的某一行
MariaDB [westos]> select * from linux;   
  
MariaDB [westos]> DROP TABLE linux;   ##删除表格
  
MariaDB [westos]> DROP DATABASE westos;   ##删除数据库
  
MariaDB [(none)]> SHOW DATABASES;    ##查看数据库

  


5.在网页中创建数据库

[root@localhost ~]# yum install httpd php php-mysql -y   ##安装httpd,php
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# cd /var/www/html
[root@localhost html]# ls
   
[root@localhost html]# tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2   ##解压
[root@localhost html]# ls
   
[root@localhost html]# rm -fr phpMyAdmin-3.4.0-all-languages.tar.bz2   ##删除压缩包
[root@localhost html]# mv phpMyAdmin-3.4.0-all-languages/ mysqladmin   ##更改名字为myaqladmin
[root@localhost html]# cd mysqladmin/

[root@localhost mysqladmin]# ls


[root@localhost mysqladmin]# cp config.sample.inc.php  config.inc.php  

在网页浏览:172.25.254.128/mysqladmin


     ##创建westos数据库


        ##在westos数据库里创建linux表格

        ##创建linux表格里的字段

     ##填写表格信息

       ##完成创建信息



三、数据库用户管理

用户授权

MariaDB [(none)]> SELECT User FROM mysql.user;  ##查看用户
  
MariaDB [(none)]> CREATE USER dmf@'localhost' identified by '123'; ##用户创建(用户名dmf,密码123)
      ##dmf@localhost 本地用户    ##dmf@‘%’ 远程用户

MariaDB [(none)]> SELECT User FROM mysql.user;   ##查看用户
   
MariaDB [(none)]> GRANT SELECT on westos.* to dmf@localhost;  ##用户授权可查看权限
     ##在网页上的数据库可以查看数据库中表格的内容
MariaDB [(none)]> GRANT UPDATE on westos.* to dmf@localhost;  ##用户授权更改权限
     ##在网页上的数据库可以更改数据库中表格的内容
MariaDB[(none)]> SHOW GRANTS FOR dmf@localhost;   ##查看用户权限
   
MariaDB [(none)]> FLUSH PRIVILEGES;     ##重载授权表

MariaDB [(none)]> REVOKE SELECT on westos.* FROM dmf@localhost;  ##撤销用户可查看权限

MariaDB [(none)]> REVOKE UPDATE on westos.* FROM dmf@localhost;   ##撤销用户可更改权限

MariaDB [(none)]> DROP user dmf@localhost;   ##删除用户



四.用户密码更改

1.若用户密码忘记,关闭数据库服务,跳过认证列表
[root@localhost ~]# systemctl stop mariadb
[root@localhost ~]# mysqld_safe --skip-grant-tables &    ##将mysql打入后台,ctrl+c结束
     
2.进入数据库修改(mysql回车即可)
[root@localhost ~]# mysql

MariaDB [(none)]> update mysql.user set Password=password('123') where User='root';   ##密码不加括号修改的密码为明文,加括号是加密方式

    

MariaDB [(none)]> select* from mysql.user;
           ##可以看到密码是加密的

3.查看mysql相关进程,全部关闭
[root@localhost ~]# fg
   
[root@localhost ~]# killall -9 mysqld_safe
   
[root@localhost ~]# ps aux | grep mysql      ##查看mysql的进程
   
[root@localhost ~]# kill -9 1882
[root@localhost ~]# ps aux | grep mysql    ##留下root进程

   


4.关闭后重启mysql服务,新密码登陆即可
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysql -uroot -p123
   



五.数据库资料备份

[root@localhost ~]# mysql -uroot -p123 -e "show databases;"   ##查看数据库
   

[root@localhost ~]# mysqldump -uroot -p123 --all-database  ##查看所有数据库资料

   

[root@localhost ~]# mysqldump -uroot -p123 --all-database --no-data ##查看所有数据结构
[root@localhost ~]# mysqldump -uroot -p123 westos > /mnt/westos.sql  ##指定westos数据库的资料备份
[root@localhost ~]# mysql -uroot -p123 -e "drop database westos;"   ##删除数据库
[root@localhost ~]# mysql -uroot -p123 -e "show databases;"   ##查看数据库(里面已经没有westos的数据库)
    
[root@localhost ~]# ls /mnt/
   

方法一:

[root@localhost ~]# vim /mnt/westos.sql  ##修改备份文件
   
[root@localhost ~]# mysql -uroot -p123 < /mnt/westos.sql  ##数据恢复.注意:当备份的数据库不存在时,会报错(例:删除westos数据库)
[root@localhost ~]# mysql -uroot -p123 -e "select * from westos.linux"  ##恢复后,登陆数据库查看
  

方法二:

[root@localhost ~]# mysql -uroot -p123 -e "drop database westos;"   ##删除westos数据库
[root@localhost ~]# vim /mnt/westos.sql
   
[root@localhost ~]# mysql -uroot -p123 -e "CREATE DATABASE westos;"  ##建立westos数据库
[root@localhost ~]# mysql -uroot -p123 westos < /mnt/westos.sql     ##数据恢复
[root@localhost ~]# mysql -uroot -p123 -e "show databases;"  ##恢复后,登陆数据库查看

   






猜你喜欢

转载自blog.csdn.net/argued_d/article/details/80465111