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 的名字。

一、数据库的设置

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

[[email protected] ~]# mysql       ##不需要密码就可以登陆

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

[[email protected] ~]# netstat -antlpe | grep mysql     ##查看数据库接口mysql,3306接口打开不安全
Linux---mariadb数据库的基本操作及数据库用户管理和资料备份   
[[email protected] ~]# systemctl stop firewalld      ##关闭防火墙
[[email protected] ~]# vim /etc/my.cnf       ##修改配置文件
       Linux---mariadb数据库的基本操作及数据库用户管理和资料备份  ##关闭数据库接口
[[email protected] ~]# systemctl restart mariadb      ##重启数据库
[[email protected] ~]# netstat -antlpe | grep mysql   ##重启后再次查看数据库接口。不对外开放
[[email protected] ~]# mysql_secure_installation   ##修改数据库密码

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

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

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

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


二、数据库编辑

1.数据库基本操作:

[[email protected] ~]# mysql -uroot -p
Enter password:

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

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

MariaDB [(none)]> USE mysql;       ##进入数据库(相当于cd)
Linux---mariadb数据库的基本操作及数据库用户管理和资料备份

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

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

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

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

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

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

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

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

Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [mysql]> DESC user;  ##查询user表的数据结构(有哪些字段)

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


2.新建数据库:

[[email protected] ~]# mysql -uroot -p
Enter password:
MariaDB [(none)]> CREATE DATABASE westos;     ##新建数据库
MariaDB [(none)]> SHOW DATABASES;    ##列出当前已有的库
Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [(none)]> USE westos;
Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]> SHOW TABLES;
Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]>
CREATE TABLE linux (      ##新建数据库westos中的表格
    -> username varchar(6) not null,     ##创建字段username,字符长最大为6,不能为空
    -> password varchar(50) not null);   ##创建字段password,字符长最大为50,不能为空
Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]> SHOW TABLES;   
Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]> DESC linux;   ##列出表结构
Linux---mariadb数据库的基本操作及数据库用户管理和资料备份

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

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

MariaDB [westos]> SELECT * FROM linux;  ##查看linux表格中的所有信息   Linux---mariadb数据库的基本操作及数据库用户管理和资料备份


3.更改数据库结构:

[[email protected] ~]# mysql -uroot -p

Enter password:

MariaDB [(none)]> USE westos;

MariaDB [westos]> SHOW TABLES;
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]> ALTER TABLE linux RENAME messages;      ##修改表格名字,将linux修改为messages
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]> SHOW TABLES;      ##查看表格

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

MariaDB [westos]> ALTER TABLE messages RENAME linux;    ##修改表格名字
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份

MariaDB [westos]> ALTER TABLE linux ADD age varchar(50);      ##在linux表格中添加age字段,随意位置
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]> select * from linux;    ##查看表格中信息,age字段在最后
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]> ALTER TABLE linux DROP age;    ##在linux表格中移除age字段
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]> ALTER TABLE linux ADD age varchar(50) AFTER username;   ##在linux表格中添加age字段,位置在username后
Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]> select * from linux;      ##查看表格中信息,age字段指定在username字段的后面
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份

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

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


4.更改数据库数据

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

MariaDB [westos]> select * from linux;

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

MariaDB [westos]> DELETE FROM linux WHERE username='dmf';   ##删除表格中的某一行
MariaDB [westos]> select * from linux;   
   Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]> DROP TABLE linux;   ##删除表格
   Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [westos]> DROP DATABASE westos;   ##删除数据库
   Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [(none)]> SHOW DATABASES;    ##查看数据库

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


5.在网页中创建数据库

[[email protected] ~]# yum install httpd php php-mysql -y   ##安装httpd,php
[[email protected] ~]# systemctl start httpd
[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# cd /var/www/html
[[email protected] html]# ls
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
[[email protected] html]# tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2   ##解压
[[email protected] html]# ls
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
[[email protected] html]# rm -fr phpMyAdmin-3.4.0-all-languages.tar.bz2   ##删除压缩包
[[email protected] html]# mv phpMyAdmin-3.4.0-all-languages/ mysqladmin   ##更改名字为myaqladmin
[[email protected] html]# cd mysqladmin/

[[email protected] mysqladmin]# ls

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

[[email protected] mysqladmin]# cp config.sample.inc.php  config.inc.php  

在网页浏览:172.25.254.128/mysqladmin

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

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


Linux---mariadb数据库的基本操作及数据库用户管理和资料备份        ##在westos数据库里创建linux表格

Linux---mariadb数据库的基本操作及数据库用户管理和资料备份        ##创建linux表格里的字段

Linux---mariadb数据库的基本操作及数据库用户管理和资料备份     ##填写表格信息

Linux---mariadb数据库的基本操作及数据库用户管理和资料备份       ##完成创建信息



三、数据库用户管理

用户授权

MariaDB [(none)]> SELECT User FROM mysql.user;  ##查看用户
   Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [(none)]> CREATE USER [email protected]'localhost' identified by '123'; ##用户创建(用户名dmf,密码123)
      ##[email protected] 本地用户    ##[email protected]‘%’ 远程用户

MariaDB [(none)]> SELECT User FROM mysql.user;   ##查看用户
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [(none)]> GRANT SELECT on westos.* to [email protected]##用户授权可查看权限
     ##在网页上的数据库可以查看数据库中表格的内容
MariaDB [(none)]> GRANT UPDATE on westos.* to [email protected]##用户授权更改权限
     ##在网页上的数据库可以更改数据库中表格的内容
MariaDB[(none)]> SHOW GRANTS FOR [email protected];   ##查看用户权限
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
MariaDB [(none)]> FLUSH PRIVILEGES;     ##重载授权表

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

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

MariaDB [(none)]> DROP user [email protected];   ##删除用户



四.用户密码更改

1.若用户密码忘记,关闭数据库服务,跳过认证列表
[[email protected] ~]# systemctl stop mariadb
[[email protected] ~]# mysqld_safe --skip-grant-tables &    ##将mysql打入后台,ctrl+c结束
      Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
2.进入数据库修改(mysql回车即可)
[[email protected] ~]# mysql

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

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

MariaDB [(none)]> select* from mysql.user;
     Linux---mariadb数据库的基本操作及数据库用户管理和资料备份      ##可以看到密码是加密的

3.查看mysql相关进程,全部关闭
[[email protected] ~]# fg
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
[[email protected] ~]# killall -9 mysqld_safe
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
[[email protected] ~]# ps aux | grep mysql      ##查看mysql的进程
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
[[email protected] ~]# kill -9 1882
[[email protected] ~]# ps aux | grep mysql    ##留下root进程

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


4.关闭后重启mysql服务,新密码登陆即可
[[email protected] ~]# systemctl start mariadb
[[email protected] ~]# mysql -uroot -p123
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份



五.数据库资料备份

[[email protected] ~]# mysql -uroot -p123 -e "show databases;"   ##查看数据库
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份

[[email protected] ~]# mysqldump -uroot -p123 --all-database  ##查看所有数据库资料

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

[[email protected] ~]# mysqldump -uroot -p123 --all-database --no-data ##查看所有数据结构
[[email protected] ~]# mysqldump -uroot -p123 westos > /mnt/westos.sql  ##指定westos数据库的资料备份
[[email protected] ~]# mysql -uroot -p123 -e "drop database westos;"   ##删除数据库
[[email protected] ~]# mysql -uroot -p123 -e "show databases;"   ##查看数据库(里面已经没有westos的数据库)
     Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
[[email protected] ~]# ls /mnt/
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份

方法一:

[[email protected] ~]# vim /mnt/westos.sql  ##修改备份文件
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
[[email protected] ~]# mysql -uroot -p123 < /mnt/westos.sql  ##数据恢复.注意:当备份的数据库不存在时,会报错(例:删除westos数据库)
[[email protected] ~]# mysql -uroot -p123 -e "select * from westos.linux"  ##恢复后,登陆数据库查看
   Linux---mariadb数据库的基本操作及数据库用户管理和资料备份

方法二:

[[email protected] ~]# mysql -uroot -p123 -e "drop database westos;"   ##删除westos数据库
[[email protected] ~]# vim /mnt/westos.sql
    Linux---mariadb数据库的基本操作及数据库用户管理和资料备份
[[email protected] ~]# mysql -uroot -p123 -e "CREATE DATABASE westos;"  ##建立westos数据库
[[email protected] ~]# mysql -uroot -p123 westos < /mnt/westos.sql     ##数据恢复
[[email protected] ~]# mysql -uroot -p123 -e "show databases;"  ##恢复后,登陆数据库查看

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