数据库mariadb的搭建和管理

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

与 MySQL 相比较,MariaDB 更强的地方在于:

Maria 存储引擎
PBXT 存储引擎
XtraDB 存储引擎
FederatedX 存储引擎
更快的复制查询处理
线程池
更少的警告和bug
运行速度更快
更多的 Extensions (More index parts, new startup options etc) 更好的功能测试
数据表消除
慢查询日志的扩展统计
支持对 Unicode 的排序

搭建mariadb

实验环境

重置虚拟机desktop,
设置主机名为(mysql.westos.com),配置ip
配置yum源
在这里插入图片描述
在这里插入图片描述
下载软件

yum install mariadb-server.x86_64 -y

下载好后开启,然后就可以直接用mysql命令来运行(默认为root用户登陆)

[root@mysql ~]# systemctl start mariadb
[root@mysql ~]# mysql

在这里插入图片描述

但是这样十分不安全,我们需要重新设置

mysql_secure_installation 	数据库安全初始化

在这里插入图片描述
设置后需要

mysql -uroot -p		登陆

输入密码 (密码也可以直接跟在-p后面,但十分不安全)
在这里插入图片描述
在这里插入图片描述
查看数据库接口

netstat -antlupe | grep mysql	发现有暴露在外面的接口,不安全

在这里插入图片描述
编辑配置文件
vim /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
 Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
Settings user and group are ignored when systemd is used.
If you need to run mysqld under a different user or group,
customize your systemd unit file for mariadb according to the
instructions in http://fedoraproject.org/wiki/Systemd
skip-networking=1
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid


include all files from the config directory

!includedir /etc/my.cnf.d

如上,加入skip-networking=1 开启 跳过网络接口
在这里插入图片描述
再查看接口
在这里插入图片描述
字段 相当于一列

数据库管理
mysqladmin -uroot -pwestos password lee
当超级用户密码忘记时:
systemctl stop mariadb
mysqld_safe --skip-grant-tables &
mysql
update mysql.user set Password=password(‘westos’) where User=‘root’;

kill -9 mysql的所有进程id

systemctl start mariadb

查询

SHOW DATABASES;	查询数据库

在这里插入图片描述

USE DATABASENAME;	进入数据库	
SHOW TABLES;	查询表

在这里插入图片描述

SELECT * FROM TABLE;	查看表的所有内容
SELECT Host(字段) FROM user(表格) WHERE User='root'(行);	指定查询

==注意;所有的操作后面都要加 ; ==
在这里插入图片描述

建立

SHOW DATABASES;         ##列出库
CREATE DATABASE westos; ##建立库

在这里插入图片描述

USE westos;             ##进入库
CREATE TABLE  linux (   ##建立表	   
 -> username varchar(50) not null,
-> password varchar(50) not null
-> );

DESC linux;             ##查看表结构

在这里插入图片描述

INSERT INTO linux VALUES ('lee','123');         ##插入数据到linux表中
SELECT * FROM linux;                            ##查询所有字段在linux表中
SELECT username,password  from linux;           ##查询指定字段在linux表中

在这里插入图片描述
注意;符号应是英文符,中文符不可以

varchar 可变长数据类型
若定为5,则1-5个字符都可以
char 定长数据类型
若定为5,若输入一个字符则后四个字符,会自动空格补齐

更改

UPDATE linux SET password=password('lee') where username='lee';  更改表格信息

在这里插入图片描述
修改成功,但密码以明文显示,这样不安全
在这里插入图片描述

ALTER TABLE linux ADD class varchar(20);	在表格里添加列

在这里插入图片描述

ALTER TABLE linux DROP CLASS;	在表格里删除列

在这里插入图片描述

ALTER TABLE linux ADD age varchar(20) AFTER  password; 添加列到指定位置

(不能添加到第一列,会造成数据丢失)
在这里插入图片描述

ALTER TABLE linux RENAME redhat;	给表改名

在这里插入图片描述

删除

DELETE FROM redhat where username='lee'; 
DROP TABLE redhat;	删除表
DROP DATABASE westos;	删除数据库

在这里插入图片描述

5数据库的备份

mysqldump -uroot -pwestos westos > /mnt/wesots.sql
mysqldump -uroot -pwestos westos  --no-data
mysqldump -uroot -pwestos --all-database
mysqldump -uroot -pwestos --all-database  --no-data

在这里插入图片描述
恢复方式1

mysql -uroot -pwestos -e "CREATE DATABASE westos;"
mysql -uroot -pwestos westos < /mnt/westos.sql

在这里插入图片描述
在这里插入图片描述
恢复方式2

vim /mnt/westos.sql
CREATE DATABASE westos;
USE westos;
mysql -uroot -pwestos < /mnt/westos.sql

用户授权

CREATE USER  lee@'localhost' identified by 'westos';
GRANT SELECT,INSERT on westos.* TO lee@localhost;
SHOW GRANTS FOR lee@localhost;
REVOKE INSERT ON westos.*  FROM lee@localhost;
DROP USER westos@localhost

FLUSH PRIVILEGES;       ##刷新

6 安装phpmyadmin 数据库图形管理

1.下载phpMyAdmin-3.4.0-all-languages
2.yum install php php-mysql -y
3.systemctl restart httpd
4. tar jxf phpMyAdmin-3.4.0-all-languages   ------- > /var/www/html
5.mv phpMyAdmin-3.4.0-all-languages mysqladmin
6.cd mysqladmin
7.cp config.sample.inc.php config.inc.php
8.vim config.inc.php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';

测试:
http://172.25.254.100/mysqladmin

猜你喜欢

转载自blog.csdn.net/zhaoliang_Guo/article/details/90488692