1.数据库简介
数据库 是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。
目前有许多数据库产品,如Oracle、Sybase、db2,mysql,Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro等产品各以自己特有的功能,在数据库市场上占有一席之地。
MariaDB
数据库管理系统是 MySQL
的一个分支,主要由开源社区在维护,采用 GPL
授权许可 MariaDB
的目的是完全兼容 MySQL
,包括 API
和命令行,是 MySQL
的代替品。MariaDB
由 MySQL
的创始人 Michael Widenius
主导开发,他早前曾以 10 亿美元的价格,将自己创建的公司 MySQL AB
卖给了 SUN
,此后,随着 SUN
被甲骨文收购, MySQL
的所有权也落入 Oracle
的手中,MariaDB
名称来自 Michael Widenius
的女儿 Maria
的名字。
2.Mariadb数据库的安装和基本配置
<1>安装 Mariadb
数据库
[root@localhost ~]# yum install mariadb-server -y ##安装mariadb
[root@localhost ~]# systemctl start mariadb ##启动mariadb服务
[root@localhost ~]# mysql ##进入数据库
查看mysql端口
[root@localhost ~]# netstat -antlpe |grep mysql ##校验mariadb的监听端口,查看mysql端口是否开放
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 27 51499 2667/mysqld
[root@localhost ~]# systemctl stop firewalld ##关闭防火墙
[root@localhost ~]# vim /etc/my.cnf ##mariadb主配置文件
添加:skip-networking=1 ##跳过网络接口开启服务
重启服务
[root@localhost ~]# systemctl restart mariadb
[root@localhost ~]# netstat -antlpe |grep mysql ##无输出,表示数据库在网络上开启的接口已关闭
<2>使用 mysql_secure_installation
工具进行数据库安全设置,根据提示完成操作:
mysql_secure_installation ##设置密码(除输入密码外一路回车)
set root password [Y/n] ##设置root用户密码
Remove anonymous users [Y/n] ##不允许匿名用户登陆
Disallow root login remotely [Y/n] ##阻止允许root用户远程登陆
Remove test database and access to it [Y/n] ##删除出入数据库的接口
Reload privilege tables now [Y/n] ##刷新数据库
重启服务
systemctl start mariadb ##重启服务
<3>登录
mysql -uroot -p ##登陆(需输入密码)
密码:
3.数据库的基本操作
查看
SHOW DATABASES; ##显示数据库
USE database_name; ##进入数据库
SHOW tables; ##显示数据库表
(现在表为空)
注意:表头在数据库里叫做字段。
建立
CREATE DATABASE database_name ##创建数据库
CREATE TABLE table_name ##创建表
DESC linux ##查看表结构
INSERT INTO linux VALUES (‘tay’,‘123’); ##插入数据到linux表中
SELECT * FROM linux; ##查询所有字段在linux表中
MariaDB [linux]> CREATE TABLE linux(
-> username varchar(50) not null,
-> password varchar(50) not null);
更改
USE linux
UPDATE linux SET password=('234') where username='tay'
ALTER TABLE linux DROP class; ## 放弃
ALTER TABLE linux ADD class varchar(20) AFTER USERNAME; ##在username后加入字段
UPDATE linux SET class='linux'; ##更改信息(class一列都将被更改)
UPDATE linux SET class='Python' WHERE username='tay'; ##更改表格信息(当username为tay时将tay的calss信息改为Python)
备份及恢复
库里的信息备份成脚本
mysqldump -uroot -p linux > /mnt/linux.sql ##备份指定库
mysqldump -uroot -p linux --no-data ##备份指定库,不要数据
mysqldump -uroot -p --all-database ##备份所有库
mysqldump -uroot -p --all-database --no-data ##备份所有库,不要数据
恢复方式1(命令建库):
mysql -uroot -p -e "CREATE DATABASE linux;" ##-e执行动作
mysql -uroot -p linux< /mnt/linux.sql ##要指定库名
恢复方式2(脚本建库):
vim /mnt/linux.sql
写入:
CREATE DATABASE linux;
USE linux;
mysql -uroot -p < /mnt/linux.sql
删除
DELETE FROM linux.linux WHERE username='tay'; ##删除表中信息
DROP TABLE linux.linux; ##删除表
DROP DATABASE linux; ##删除库
用户和访问权限
SELECT User FROM mysql.user; ##查看本机有哪些用户
建立用户:
CREATE USER user@localhost identified by ‘haha’;
CREATE USER user@’%’ identified by ‘haha’;
localhost表示本地用户,’%’表示任何客户端可以登录,可以远程登录,identified by 后面加用户密码
例子:
CREATE USER ma@localhost identified by '111'; ##建立用户ma,密码111
用户授权:
GRANT INSERT,UPDATE,DELETE,SELECT on ma.* to ma@localhost;
GRANT SELECT on mariadb.* ma@’%’;
查看用户授权:
SHOW GRANTS FOR ma@localhost;
重载授权表:
FLUSH PRIVILEGES;
撤销用户授权:
REVOKE UPDATE on haha.* from ma@localhost;
删除用户:
DROP USER user@localhost;
4.网页模式创建数据库
[root@localhost ~]# yum install httpd php php-mysql -y ##安装阿帕奇、php-mysql、php
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
phpMyAdmin-3.4.0-all-languages.tar.bz2
[root@localhost html]# tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 ##解压php数据库软件
[root@localhost html]# ls
phpMyAdmin-3.4.0-all-languages phpMyAdmin-3.4.0-all-languages.tar.bz2
[root@localhost html]# mv phpMyAdmin-3.4.0-all-languages/ mysqladmin ##修改数据库软件名称
[root@localhost html]# cd /mysqladmin
[root@localhost mysqladmin]# cp config.sample.inc.php config.inc.php ##复制新文件,根据快速安装步骤说明
systemctl stop firewalld ##关闭防火墙
systemctl disable firewalld ##开机不开启服务
打开浏览器进入网页,输入 172.25.254.225/mysqladmin
进行登录
进入网页后,可以选择语言为中文,输入用户名以及数据库密码用网页登录数据库:
登录成功后界面:
5.更改数据库root密码
[root@localhost ~]# systemctl stop mariadb.service ##关闭mariadb服务
[root@localhost ~]# mysqld_safe --skip-grant-tables & ##跳过授权表并打入后台
[1] 1751
[root@localhost ~]# 180526 02:40:53 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'. ##后台运行
180526 02:40:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
[root@localhost ~]# mysql
MariaDB [(none)]> update mysql.user set Password=password('redhat') where User='root'; ##更改密码
[root@localhost ~]# ps aux | grep mysql ##过滤所有mysql的进程
[root@localhost ~]# kill -9 xxxxx ##结束进程
[root@localhost ~]# ps aux | grep mysql
[root@localhost ~]# systemctl start mariadb ##开启
[root@localhost ~]# mysql -uroot -p ##再次登陆
Enter password:
关于数据库的相关内容就是这些。