MariaDB的简单入门

矫情吗;* 2022-01-29 03:55 294阅读 0赞

1.什么是mariadb?

mariadb:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。

2.环境配置

在这里插入图片描述
在这里插入图片描述

3.mariadb的安装

安装mariadb

  1. yum install mariadb-server -y
  2. systemctl start mariadb

在这里插入图片描述

4.安全初始化

  1. vim /etc/my.conf
  2. skip-networking=1 ##默认的情况下数据库的网络接口是打开的,为了安全需要关闭网络接口
  3. systemctl restart mariadb

在这里插入图片描述
##Netstat: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。






























































-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它
-i 显示所有网络接口的信息,格式“netstat -i”
-n 以网络IP地址代替名称,显示出网络连接情形
-r 显示核心路由表,格式同“route -e”
-t 显示TCP协议的连接情况
-u 显示UDP协议的连接情况
-v 显示正在进行的工作
-p 显示建立相关连接的程序名和PID
-b 显示在创建每个连接或侦听端口时涉及的可执行程序
-e 显示以太网统计。此选项可以与 -s 选项结合使用
-f 显示外部地址的完全限定域名(FQDN)
-o 显示与与网络计时器相关的信息
-l 显示监听socket

在这里插入图片描述
在这里插入图片描述

  1. Enter current password for root (enter for none): 输入当前root用户的密码(是否不输入)
  2. Set root password? [Y/n] 询问是否设置密码
  3. New password:
  4. Re-enter new password:
  5. Password updated successfully! 密码配置成功
  6. Reloading privilege tables..
  7. ... Success!
  8. Remove anonymous users? [Y/n] 询问是否不允许匿名用户登录
  9. Disallow root login remotely? [Y/n] 询问是否不允许远程连接
  10. Remove test database and access to it? [Y/n] 询问是否删除测试数据库并访问它
  11. Reload privilege tables now? [Y/n] 询问是否重新加载权限表
  12. 登陆数据库 注意:密码不要写在-p后在企业中不安全(quit退出)
  13. [root@testdb ~]# mysql -uroot -p
  14. Enter password:

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

5.修改密码

  1. mysqladmin -uroot -pwestos password lee
  2. 当超级用户密码忘记时:
  3. systemctl stop mariadb
  4. mysqld_safe --skip-grant-tables &
  5. mysql
  6. update mysql.user set Password=password('westos') where User='root';
  7. kill -9 mysql的所有进程id
  8. systemctl start mariadb

记得密码:
在这里插入图片描述忘记密码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

6.数据库管理

1.查询

  1. SHOW DATABASES; ##显示所以库
  2. USE DATABASENAME ##使用指定数据库
  3. SHOW TABLES; ##显示当前数据库里所有的表
  4. SELECT * FROM TABLE ##从表中选中某个记录值
  5. SELECT Host FROM user WHERE User='root'; ##

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2.建立

  1. SHOW DATABASES; ##列出库
  2. CREATE DATABASE westos; ##建立库
  3. USE westos; ##进入库
  4. CREATE TABLE userlist ( ##建立表
  5. -> username varchar(50) not null,
  6. -> password varchar(100) not null
  7. -> );
  8. DESC linux; ##查看表结构
  9. INSERT INTO userlist VALUES ('szy','666'); ##插入数据到userlist表中
  10. SELECT * FROM userlist; ##查询所有字段在uselist表中
  11. SELECT username,password from userlist; ##查询指定字段在userlist表中

在这里插入图片描述
在这里插入图片描述注意:varchar(50)和char(50)的区别:
varchar(50) 字符长度不超过50,是可变长数据类型,超过50会截取。
char 定长数据类型,指定长度,长度不够会用空格补全后面的。
在这里插入图片描述
在这里插入图片描述
3.更改

  1. UPDATE userlist SET age='18' where username='szy1';
  2. ALTER TABLE userlist ADD age varchar(4);
  3. ALTER TABLE uerlist DROP age; ##移除age字段
  4. ALTER TABLE userlist ADD sex varchar(2) AFTER password; ##在password后面加入sex
  5. ALTER TABLE userlist RENAME redhat; ##修改表格名字

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
4.删除

  1. DELETE FROM redhat where username='szy'; ##删除表redhat中szy信息
  2. DROP TABLE redhat; ##删除表redhat
  3. DROP DATABASE westos; ##删除库westos

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
5.用户授权
实验准备:关闭防火墙,并开放端口3306,让其他主机可以通过网络登陆数据库。
在这里插入图片描述
在这里插入图片描述
创建两个用户,注意westos@’%’和westos@localhost不是一个用户,用户=名字+可在哪登陆,%表示可以在任何地方可以登陆数据库,而localhost是限制在本机登陆。

  1. CREATE USER westos@'%' identified by 'westos'; by后跟的是用户密码
  2. CREATE USER westos1@localhost identified by 'westos';
  3. SELECT User,Host FROM mysql.user;

在这里插入图片描述
测试:分别在本机用xupt用户和其他主机用westos用户测试:
其他主机同样需要安装mariadb,我们可以yum whatprovides */mysql,安装mariadb-5.5.52-1.el7.x86_64,mariadb-server.x86_64 1:5.5.52-1.el7,开启服务systemctl start mariadb.service
在这里插入图片描述

  1. mysql -uwestos -h172.25.254.116 -p ##其他主机通过网络访问数据库的命令
  2. mysql -uwestos1 -p ##本机访问

在这里插入图片描述
在这里插入图片描述
##注意:数据库系统和文件系统一样,都是需要授权的,此时我们给两个用户都没有赋予权力,所以他们只能登陆,且只能看他能看到部分可见的数据库,我们需要root给他们赋予权力他们才能进行其他增删改查操作;超级用户一次可以授予多个权力,用逗号,分开就行。

  1. mysql -uroot -p ##超级用户登陆
  2. SHOW GRANTS FOR xupt@localhost; ##查看xupt@localhost用户的权限
  3. GRANT INSERT,DELETE on westos.* TO xupt@localhost; ##给xupt@localhost赋予查看,插入和删除的权限

在这里插入图片描述
在这里插入图片描述

  1. mysql -uxupt -pwestos ##登陆
  2. SELECT * FROM westos.userlist ##查
  3. INSERT INTO westos.userlist VALUES ('szy2','555'); ##增
  4. DELETE FROM westos.linux WHERE username='szy2'; ##删

在这里插入图片描述在这里插入图片描述
超级用户回收权力

  1. mysql -uroot -p ##超级用户登陆
  2. REVOKE DELETE,INSERT on westos.* FROM xupt@localhost; ##撤销xupt@localhost增和删的权限
  3. SHOW GRANTS FORxupt@localhost;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述删除用户

  1. mysql -uroot -p ##超级用户登录
  2. DROP USER westos@'%'; ##删除用户westos@‘%’
  3. DROP USER xupt@localhost; ##删除用户westos1@localhost
  4. SELECT Host,User FROM mysql.user;
  5. FLUSH PRIVILEGES; ##刷新全局,刷新授权表,当更改未生效时就用刷新命令。

在这里插入图片描述
在这里插入图片描述

6.数据库的备份

  1. mysqldump -uroot -pwestos westos > /mnt/wesots.sql ##指定备份westos所有结构以及数据到/mnt下
  2. mysqldump -uroot -pwestos westos --no-data ##指定备份westos的结构,但不备份数据
  3. mysqldump -uroot -pwestos --all-database ##备份数据所有结构和数据
  4. mysqldump -uroot -pwestos --all-database --no-data ##只备份所有的结构

在这里插入图片描述
7.数据库的恢复

  1. 方式1
  2. mysql -uroot -pwestos -e "CREATE DATABASE westos;"
  3. mysql -uroot -pwestos westos < /mnt/westos.sql

在这里插入图片描述

  1. 方式2
  2. vim /mnt/westos.sql
  3. CREATE DATABASE westos;
  4. USE westos;
  5. mysql -uroot -pwestos < /mnt/westos.sql

在这里插入图片描述在这里插入图片描述

7.安装phpmyadmin 数据库图形管理

1.什么是phpmyadmin?

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

实验步骤:

首先安装httpd服务,开启服务并设置为开机启动:

  1. yum install https -y
  2. systemctl start httpd
  3. systemctl enable httpd

在这里插入图片描述

获得phpmyadmin的压缩包,并把phpmyadmin的安装包在/var/www/html目录下解压,并解包,我们可以重命名为mysqladmin方便在浏览器下访问。

  1. yum install lftp -y
  2. tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 ##解压并解包
  3. mv phpMyAdmin-3.4.0-all-languages/ mysqladmin ##重命名
  4. cd mysqladmin
  5. cp config.sample.inc.php config.inc.php
  6. vim config.inc.php
  7. $cfg['blowfish_secret'] = 'ba17c1ec07d65003';

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装php,php-mysql两个包,此时可以通过php -m 命令查看mysql有没有出现,这表示已经运行php加载的模块。

  1. yum search php
  2. yum install php.x86_64 -y
  3. yum install php-mysql.x86_64 -y
  4. php -m

在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述注意:此时在服务端需要关闭防火墙,或将httpd服务加入防火墙允许的列表中才能正常访问。

发表评论

表情:
评论列表 (有 0 条评论,294人围观)

还没有评论,来说两句吧...

相关阅读

    相关 mariadb

    1.什么是mariadb? MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API

    相关 MariaDB-入门

    0、基础概念 数据(Data),是对客观事物的符号表示; 模型(Model),是现实世界的抽象; 数据结构,指数据的组织形式 或数据之间的联系。 数据模型(D