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';