MariaDB数据库的管理

    xiaoxiao2022-04-26  178

    数据库概述:

    数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。 简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

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

    mysql_secure_installation 是 mariadb 自带的安全初始化脚本

    1.数据库的安装和基础配置

    (1).安装数据库

    [root@localhost ~]# yum install -y mariadb-server

    (2).打开数据库

    [root@localhost ~]# systemctl start mariadb.service

    (3).安全初始化

    @默认情况下,用户可以无密码登陆数据库,并且可以对数据库随意进行增删改查;这样很是很不安全的 [root@localhost ~]# mysql_secure_installation 测试:登陆数据库时需要输入密码 ##方式1: [root@localhost ~]# mysql -u root -p ##方式2:但这样登陆不安全 [root@localhost ~]# mysql -uroot -pwestos (4).关闭数据库网络接口

    @@默认情况下,数据库的网络接口是打开的,这样系统安全性很低 ##查看数据库端口 [root@localhost ~]# netstat -antlupe | grep mysql ##关闭网络接口 [root@localhost ~]# vim /etc/my.cnf ################### skip-networking=1 ##跳过网络接口 #重启数据库服务 [root@localhost ~]# systemctl restart mariadb.service 测试:此时便可查看不到数据库服务端口 [root@localhost ~]# netstat -antlupe | grep mysql 2.数据库的管理

    命令的方式:

    (1)建立和查询

    SHOW DATABASES; ##列出系统中所有的数据库 CREATE DATABASE westos; ##创建westos数据库 USE westos; ##进入westos数据库 SHOW TABLES; ##列出具体数据库中所有的表 CREATE TABLE linux (username varchar(10) not null,password varchar(20) not null); ##在具体数据库中建立linux表 DESC linux; ##查看linux表结构 INSERT INTO linux VALUES (‘lee’,‘123’); ##插入数据到linux表中 SELECT * FROM linux; ##查询linux表中的所有字段的数据信息 SELECT HOST,User,Password FROM user; ##查询linux表中指定字段的数据信息

    实验:

    ##以root用户身份登陆数据库 [root@localhost ~]# mysql -uroot -p

    (2)更改

    ##更改表结构 ALTER TABLE linux RENAME userdate; ##修改表名称 ALTER TABLE linux ADD age varchar(4); ##添加字段(默认在最后) ALTER TABLE linux DROP age; ##删除字段 ALTER TABLE linux ADD age varchar(4) AFTER username; ##指定位置添加字段

    ##更改表数据 UPDATE linux SET age=‘10’ WHERE username=‘westos’; ##更改表数据;WHERE表示条件 (3)删除

    DELETE FROM linux WHERE username=‘westos’; ##删除数据 DROP TABLE linux; ##删除表 DROP DATABASE westos; ##删除数据库

    实验: 网页的形式:

    (1).安装网页管理数据库工具

    ##1.安装apache [root@localhost ~]# yum install -y httpd ##2.重启apache

    [root@localhost ~]# systemctl start httpd

    ##3.关闭火墙

    [root@localhost ~]# systemctl stop firewalld

    ##4.下载phpMyAdmin软件包,并将其放到apache的 默认发布目录中

    [root@[root@localhost ~]# cd /var/www/html/ [root@localhost html]# ls phpMyAdmin-2.11.3-all-languages.tar.bz2

    ##5.解压phpMyAdmin软件包;只是为了生成Documentation.txt文件

    [root@localhost html]# tar jxf phpMyAdmin-2.11.3-all-languages.tar.bz2 [root@localhost html]# ls phpMyAdmin-2.11.3-all-languages phpMyAdmin-2.11.3-all-languages.tar.bz2 ##6.重命名 [root@localhost html]# mv phpMyAdmin-2.11.3-all-languages mysqladmin [root@localhost html]# ls mysqladmin phpMyAdmin-2.11.3-all-languages.tar.bz2 ##搜索软件包 [root@localhost ~]# yum search php

    ##7.安装php和php-mysql [root@localhost ~]# yum install -y php.x86_64 php-mysql.x86_64 ##进入解压包中 [root@localhost mysqladmin]# cd mysqladmin ##备份文件 [root@localhost mysqladmin]# cp config.sample.inc.php config.inc.php ##查看 [root@localhost mysqladmin]# less Documentation.txt

    ##9.(直接在备份文件中更改) [root@localhost mysqladmin]# vim config.inc.php

    网页测试: 在shell中登陆的数据库可以查看到新建的linux表(说明网页管理数据库与命令管理数据库效果一样) 3.数据库用户授权

    SELECT User,Host FROM mysql.user; ##查看数据库存在的用户 CREATE USER lee@localhost identified by ‘lee’; ##创建用户并设定用户密码 SHOW GRANTS FOR lee@localhost; ##查看具体用户所拥有的权限 GRANT SELECT on westos.* TO lee@localhost; ##给用户授权 REVOKE DELETE on westos.* from lee@localhost; ##撤回权力 DROP USER lee@localhost; ##删除数据库用户 FLUSH PRIVILEGES; ##刷新

    常用的具体的权限有: SELECT ##查询功能 CREATE ##创建表 INSERT ##插入数据 DELETE ##删除表数据 DROP ##删除表/数据库 实验: 创建数据库用户: 其他权限也是如此赋予!!!! 撤销用户权力: 其他权力依次。 删除数据库用户: 4.数据库的备份

    ##备份数据库资料 mysqldump -uroot -pwestos --all-database > /mnt/westos.all #备份所有数据库资料 mysqldump -uroot -pwestos --all-database --no-data > /mnt/westos.err #只备份数据库的数据结构,不备份数据库的数据信息 mysqldump -uroot -pwetos westos > /mnt/westos.sql ##备份westos数据库资料

    ##恢复数据库信息 方法1: vim /mnt/westos.sql ####### CREATE DATABASE westos; USE westos; mysql -uroot -pwestos -e ‘SHOW DATABASES;’

    方法2: mysql -uroot -pwestos -e ‘CREATE DATABASE westos;’ mysql -uroot -pwestos westos < /mnt/westos.sql

    实验:

    (1)模拟实验环境

    ##删除westos数据库 [root@localhost ~]# mysqldump -uroot -pwestos westos > /mnt/westos.sql [root@localhost ~]# mysql -uroot -pwestos -e ‘SHOW DATABASES;’ ±-------------------+ | Database | ±-------------------+ | information_schema | | mysql | | performance_schema | ±-------------------+ 5.若忘记数据库超级用户密码,怎么办?

    (1)关闭数据库服务

    [root@localhost ~]# systemctl stop mariadb

    1

    (2)跳过授权表

    &表示打入后台

    [root@localhost ~]# mysqld_safe --skip-grant-tables & ## Ctrl+c 退出

    (3)登陆数据库,并更改数据库root用户密码 ##此时便可以免密码登陆数据库 [root@localhost ~]# mysql ##更改数据库root用户密码 MariaDB [(none)]> update mysql.user set Password=password('westos) WHERE User='root (4)结束与mysql有关的所有进程

    [root@localhost ~]# ps aux | grep mysql [root@localhost ~]# kill -9 6128 [root@localhost ~]# kill -9 6283

    [root@localhost ~]# ps aux | grep mysql root 6368 0.0 0.0 112644 956 pts/0 R+ 19:49 0:00 grep --color=autto mysql (5)打开数据库

    [root@localhost ~]# systemctl start mariadb 测试:

    [root@localhost ~]# mysql -uroot -plinux 登陆成功,该密码正确!!


    最新回复(0)