3-9配置mariadb

来源:互联网 发布:做知敬畏守底线的教师 编辑:程序博客网 时间:2024/06/06 12:31

mariadb

基于tcp/3306端口,单进程(读取配置文件、服务)多线程(响应多个用户请求);
主键维护各表关系;

分类

事务回滚引擎:事务是一组组合成逻辑工作单元的操作,虽然系统中可能会出错,但事务将控制和维护事务中每个操作的一致性和完整性。
内存存储引擎:在内存中放数据,用于网站提速;

来源baidu:MyISAM: 拥有较高的插入,查询速度,但不支持事务InnoDB :5.5版本后Mysql的默认数据库,事务型数据库的首选引擎,支持ACID事务,支持行级锁定BDB: 源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性Memory :所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失Merge :将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用Archive :非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差Federated: 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用Cluster/NDB :高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。BlackHole :黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继另外,Mysql的存储引擎接口定义良好。有兴趣的开发者通过阅读文档编写自己的存储引擎。

mariadb配置

server:#yum -y install mariadb-server或#yum groupinstall mariadb#vim /etc/my.cnf //在开头加innodb_file_per_table=1  //每表一个空间log-bin=/var/lib/mysql/bin-log //sql日志#########忘记root密码,加这两行脱离网络、消除权限。skip-grant-tables=1  //取消权限,无密码访问skip-networking=1   //脱离网络#systemctl restart mariadb.service#systemctl enable mariadb.service#systemctl stop firewalld.service#mysql_secure_installation  //安全初始化,加密码#mysql -uroot -predhat>show databases; //展示数据库>use xxxx;  //使用xxx库>show tables; //展示表>desc tbname;  //查看tbname表>create database xxx; //创建xx库>use xxx;>create table tbname (id int(xx),name char(20)); //创建表>insert into tbname (id,name) values (x,'xxx');//查询表  \G纵向查看>update tbname set name='ccc' where id=2;//改表>delete from tbname where name=ccc; //删表>create user yonghuming@x.x.x.x identified by 'xxx';//创建管理用户>grant select on *.* to yonghuming@x.x.x.x;>grant all on *.* to yonghuming@x.x.x.x identified by 'xxxx';//授权>flush privileges; //刷新授权表>revoke select on *.* from yonghuming@x.x.x.x;//移除授权###########忘记root密码,修改主配,修改权限#mysql>update user set password=password('xxxxx') where user='root' and host='localhost';desktop:#mysql -uwode -predhat -h172.25.0.11

备份数据库

冷备:直接拷贝(异步),基于日志;
DRBD实时备份(同步);
日志:二进制、错误、事务、查询(慢查询、中继查询)
1、mysqldump基于二进制文件

backup:#vim /etc/my.cnflog-bin=/var/lib/mysql/bin-loginnodb_file_per_table = 1#systemctl start mariadb#mysqldump -uroot -predhat --all-databases --lock-all-tables --flush-logs > xxxxx.dump//全备数据库  锁表(之后下一日志建立)  刷新日志#mysqlbinlog -d xxxx bin-log.00000X > bbb.dump//导出xxx库 位置文件             导出某库文件到路径#mysql -uroot -predhat < xxxxxx.dump  //导入某库文件#mysql -uroot -predhat bbb < bbb.dump

2、lvm快照
基于二进制日志,需锁表;

#fdisk /dev/vdbnp1+3Gw#partprobe /dev/vdb#ls /dev/vdb(tab)#pvcreate /dev/vdb1#vgcreate vg0 /dev/vdb1#lvcreate -L 1G -n lvm vg0#mkfs.ext4 /dev/vg0/lvm#blkid /dev/vg0/lvm >> /etc/fstab#vim /etc/fstabUUID=""  /mnt/lvm ext4 defaults 0 0 #mkdir /mnt/lvm #mount -a#mkdir /mnt/lvm/data#chown mysql:mysql data#vim /etc/my.cnflog-bin=/var/lib/mysql/bin-loginnodb_file_per_table = 1datadir=/mnt/lvm/data#setenfoce 0#systemctl start mariadb#mysql -uroot -predhat>flush tables with read lock; //锁表>unlock tables;>set sql_log_bin=0;>set sql_log_bin=1;########快照#lvcreate -L 2G -n kuaizhao -s /dev/vg0/lvm#mkdir /mnt/lvm2#mount /dev/vg0/kuaizhao /mnt/lvm2#cp /mnt/lvm2 /mnt/lvm/data   //快照恢复#chmod mysql:mysql /mnt/lvm/data#mysqlbinlog -d databasename bin-log.00000X > xxxx.dump>show master status\G

3、xtrabackup工具包

Xtrabackup:#wget http://172.25.254.254/content/ruanjian/percona-xtrabackup-2.2.9-5067.el7.x86_64.rpm#yum -y install percona-xtrabackup-2.2.9-5067.el7.x86_64.rpm#mkdir /backup全备工具#innobackupex --user=root --password=redhat /backup增量#innobackupex --user=root --password=redhat --incremental /backup --incremental-basedir=/backup/2017-07-05_14-30-38恢复前准备:合并两个文件,准备成一个;#innobackupex --apply-log --redo-only /backup/2017-07-05_14-30-38//使数据达到一致#innobackupex --apply-log --redo-only /backup/2017-07-05_14-30-38 --incremental-dir=/backup/2017-07-05_14-36-47恢复#innobackupex --copy-back /backup/2017-07-05_14-30-38/主从数据库搭建:ServerX:#yum -y install mariadb-server#vim /etc/my.cnflog-bin=/var/lib/mysql/bin-log  //二进制日志server-id = 100#systemctl restart mariadb.service#systemctl stop firewalld.service#mysql>grant replication client,replication slave on *.* to repl@172.25.0.10 identified by 'redhat';用户repl>flush privileges;刷新授权>show master status\G从服务器DesktopX:#yum -y install mariadb-server#vim /etc/my.cnfrelay-log=/var/lib/mysql/relay-log中继日志server-id = 200#systemctl start mariadb.service#systemctl stop firewalld.service#mysql>change master to master_host='172.25.0.11', master_user='repl', master_password='redhat', master_log_file='bin-log.000003', master_log_pos=xxx;//xxx是server查看staus>slave start;>show slave status\G
原创粉丝点击