文章目录
1. mariadb数据库简介
- MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
- GPL=General Public License 通用公共许可证
- GNU=GNU is not Unix 开放源代码的组织
2. mariadb 数据库的安装与使用
(1)数据库服务端的安装
yum install -y mariadb-server
下载mariadb 服务端 mariadb-server
systemctl start mariadb
开启服务
systenctk enable mariadb
设置服务开机自启动
(2)数据库的使用
-
mysql
登录命令 -
mysqld
d=domain 打入后台在后台运行 -
数据库的语法:(1)区分命令用大写(2) 表及数据库名称用小写 (3)完整命令以;结尾
-
数据库服务端口:3306端口
-
数据库根目录:/var/lib/mysql
-
数据库配置文件: /etc/my.cnf
-
vim /etc/my.cnf
编辑数据库配置文件
skip-networking=1
关闭对外端口 保证数据库的安全性 1为关闭 0为开启
netstat -antulpe | grep mysql
查看开放端口状态
-
mysql_secure_installation
数据库安全初始化
安全初始化之后,登录数据库需要密码,更加安全;
3. mariadb数据库管理
3.1 mariadb数据库的基本管理
mysql -uroot -predhat -e "SHOW DATABASES;"
不进入数据,在shell中查看数据库
mysql -uroot -predhat
登录数据库
USE XXX;
应用/进入数据库XXX
(1)增
CREATE DATABASE XXX;
数据库XXX的建立
(2)删
DROP DATABASE XXX;
删除数据库XXX
(3)查
SHOW DATABASES;
查看数据库
3.2 mariadb数据库中表的管理
1. 表结构的管理
(1)增
CREATE TABLE xxx(yyy1 varchar(10)not null,yyy2 varchar(10)not null);
建立新表xxx
(2)删
DROP TABLE xxx;
删除表xxx
(3)改
ALTER TABLE xxx DROP;
删除表xxx 某一字段
ALTER TABLE xxx ADD;
为表xxx添加字段
(4)查
SHOW TABLES;
查看数据库中的表格
DESC xxx;
查看xxx表的结构
2. 表中内容的管理
(1)增
INSERT INTO xxx valus('','');
插入表中内容
(2)删
DELETE FROM xxx WHERE yyy='';
从表xxx删除yyy=’'的数据
(3)改
UPDATE xxx SET yyy='' WHERE yyy='';
修改表中数据
(4)查
SELECT * FROM xxx;
查看表xxx所有内容
SELECT yyy FROM xxx WHERE yyy= ;
根据条件查找表
4. 用户数据库授权
SELECT * FROM mysql.user;
查看数据库中所有用户 用户信息在mysql库下的user表中
(1)创建用户 超户权力
1) CREATE USER westos@localhost IDENTIFIED BY 'westos';
创建单个只允许本地登录的用户
2)GRANT SELECT ON userdata.* TO westos@localhost IDENTIFIED BY 'westos'
创建用户并授权
(2)删除用户 超户权力
DROP USER westos@localhost;
.
(3)授权 超户权力
GRANT SELECT,INSERT ON westos.* TO westos@localhost;
给westos用户查询与增添数据库westos中所有表的权限
FLUSH PRIVILEGES;
刷新用户表
(4)查看权限
SHOW GRANTS FOR westos@localhost;
查看westos用户的权限
(5)权限撤销 超户权力
REVOKE INSERT ON westos.* FROM westos@localhost 撤销用户westos 对数据库westos的增添权限
5. 数据库的备份与恢复
5.1 数据库的备份
mysqldump -uroot -predhat westos > /mnt/userdata.sql
完全备份westos库到/mnt/userdata.sqlmysqldump -uroot -predhat westos --no-data > /mnt/userdata.sql
备份该数据库的格式,不备份数据 备份到/mnt/userdata.sqlmysqldump --all-databases --single-transcation --triggers --routines --events --host=127.0.0.1 --port=3306 --user=root --password=redhat > /mnt/userdata.sql
完整备份数据库到/mnt/userdata.sql
5.2 数据库的恢复
mysql -uroot -predhat -e"DROP DATABASE userdata;"
模拟环境:将westos数据库删除
-
方法1:
1)vim /mnt/userdata.sql
编辑备份的数据库文件CREATE DATABASE westos; ##该数据库已经被删除了在恢复之前必须保证该库存在
USE westos;
2)mysql -uroot -predhat < /mnt/database.sql
恢复
恢复后可以看到数据库中数据依旧存在:
- 方法2:
1)mysql -uroot -predhat -e "CREATE DATABASE westos;"
先建立好先前删除的库再恢复
musql -uroot -predhat westos < /mnt/userdata.sql
恢复
6. 数据库密码的修改
- 已知密码时
mysqladmin -uroot -predhat passwd westos
直接使用命令更改密码
- 密码未知时
1)systemctl stop mariadb
停止先前的进程
2)mysqld_safe --skip-grant-tables &
用跳过认证授权表的模式启动服务 免密登录
mysql
免密登录数据库
UPDATE mysql.user SET Password='westos' WHERE User='root'
密码明文设置
UPDATE mysql.user SET Password=password('westos') WHERE User='root'
密码加密设置
3)kill -9 mysql进程号
结束跳过授权认证文件方式登录数据库的进程
systemctl restart mariadb
重新启动服务 修改密码成功
7. mariadb数据库的图形化管理
(1)配置:
1)yum install -y httpd
安装apache服务下的httpd资源共享服务
systemctl start httpd
开启资源共享服务
systemctl enable httpd
设置服务开机自启动
2)firewqall-cmd --permanent --add-service=http
为火墙添加http服务
firewall-cmd --reload
火墙重新加载
3)yum install -y php
安装动态插件
yum install -y php-mysql
.
yum install -y php-mbstring-5.4.16-21.el7.x86_64.rpm
安装扩展插件
tar zxf phpMyAdmin-4.0.10.20-all-languages.tar.gz -C /var/www/html
安装扩展插件
cd /var/www/html
.
mv phpMyAdmin-4.0.10.20-all-languages phpMyAdmin
重命名更方便浏览
systemctl restart httpd
重启http服务
(2)测试:
浏览器访问:http://172.25.254.201/phpMyAdmin
输入帐号密码登录数据库:root–>redhat