mysql创建数据库

搭建主从复制数据库

。_饼干妹妹 提交于 2020-02-26 01:54:10
主库 #创建目录 mkdir /data/mysql/master01 cd /data/mysql/master01 mkdir conf data chmod 777 * -R #创建配置文件 cd /data/mysql/master01/conf vim my.cnf #输入如下内容 [mysqld] #开启二进制日志 log-bin=mysql-bin #服务id,不可重复 server-id=1 sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' binlog_format=MIXED #创建容器, 并启动 docker run --privileged=true --name percona-master01 -v /data/mysql/master01/data:/var/lib/mysql -v /data/mysql/master01/conf:/etc/my.cnf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23 #创建同步账户以及授权 create user 'itcast'@'%'

Orchestrator 单节点模式介绍

允我心安 提交于 2020-02-26 01:25:40
一、环境说明: 1.1、3台vm虚拟机系统环境介绍: 3台VM系统为: [root@mgr01 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 3台VM centos 系统都关闭iptables,关闭selinux 3台虚拟机系统时间同步: ntpdate ntp1.aliyun.com 3台vm虚拟机上各安装一个orchestrator mysql orchestrator版本为:orchestrator-3.1.4-linux-amd64.tar.gz 下载地址: https://github.com/github/orchestrator/releases mysql的版本为mysql5.7.24 GA 二进制版本安装 三台机器ip: 10.0.0.130 172.16.0.130 10.0.0.131 172.16.0.131 10.0.0.132 172.16.0.132 三台vm绑定主机名: [root@mgr01 bin]# cat /etc/hosts 172.16.0.130 mgr01 172.16.0.131 mgr03 172.16.0.132 mgr02 [root@mgr02 ~]# cat /etc/hosts 172.16.0.132 mgr02 172.16.0

# IT明星不是梦 # MySQL高可用集群之MMM

▼魔方 西西 提交于 2020-02-26 01:21:32
MySQL高可用集群之MMM 一、MMM简介 MMM即Multi-Master Replication Manager for MySQL(mysql多主复制管理器) ,基于perl实现,关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟IP,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。MySQL本身没有提供replication failover的解决方案,通过MMM方案能实现服务器的故障转移,从而实现mysql的高可用。MMM不仅能提供浮动IP的功能,如果当前的主服务器挂掉后,会将你后端的从服务器自动转向新的主服务器进行同步复制,不用手工更改同步配置。这个方案是目前比较成熟的解决方案。详情请看官网: http://mysql-mmm.org 优点: 高可用性,扩展性好,出现故障自动切换。 对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。 当主服务器挂掉以后,另一个主立即接管,其他的从服务器能自动切换,不用人工干预。 缺点: monitor节点是单点,不过这个也可以结合keepalived或者haertbeat做成高可用; 至少三个节点,对主机的数量有要求,需要实现读写分离,还需要在前端编写读写分离程序。

Mysql存储过程

℡╲_俬逩灬. 提交于 2020-02-26 01:06:59
一、什么是mysql存储过程? 是在数据库系统中,一组为了完成特定功能SQL语句集,经编译后存储在数据库中,用户通过制定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 存储过程是经过编译的SQL语句集。编译后节省很多性能。 二、为什么使用存储过程? 1、存储过程只在创造时进行编译,以后每次执行存储过程都不需要再重新编译,而一般SQL语句每执行一次就编译一次,所以存储过程可以提高数据库执行速度 2、当对数据库进行复杂操作时(如对多个表进行UPDATE,INSERT,QUERY,DELETE时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用,这些操作如果用程序来完成,就变成一条条的SQL语句,可能要多次链接数据库,而换成存储过程,只需要链接一次数据库就可以了 3、存储过程可以重复使用,可以减少数据库开发人员的工作量 4、安全性高,可设定只有某些用户才具有对指定存储过程的使用权 三、存储过程的缺点 1、可移植性差 2、对于简单的SQL语句,存储过程没什么优势 3、存储过程中不一定会减少网络传输 4、如果一个用户使用数据库,那么存储过程对安全也没什么影响 5、团队开发时需要统一标准,否则后期维护起来麻烦 6、在大并发访问量的情况下,不宜写过多涉及运算的存储过程 7、业务逻辑复杂时,特别是涉及到对很大的表进行操作的时候,不如在前端先简化业务逻辑 四

Mysql主从配置,一主一从

十年热恋 提交于 2020-02-26 00:41:21
主库IP:192.168.1.156 Hostname:CNDB01 从库IP:192.168.1.157 Hostname:CNDB02 系统:Centos7.4 Mysql:Mariadb 5.7 1.安装: yum -y install mysql 2.配置主服务器mysql文件: #vim /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid [mysqld] server-id = 1 #主为1 log-bin = mysql-bin #开启二进制日志 skip-gran-tables #开启无密码登录,不启用会有可能连接不上 !includedir /etc/my.cnf.d 3.配置数据库参数,创建sync同步账户,并且授权slave权限 #systemctl start mysql #mysql -u root -p MySQL [(none)]> grant replication slave on . to 'sync'@'192.168.1.156' identified by

MySQL中间件之MyCat

你。 提交于 2020-02-25 23:37:09
MySQL中间件之MyCat 一、MyCat基础概念 1、什么是MyCat 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 一个新颖的数据库中间件产品 2、为什么使用MyCat 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的(比如有些使用场景是绝对要有事务与安全指标的。这个时候NoSQL肯定是无法满足的)。所以还是需要使用关系性数据库。如何使用关系型数据库解决海量存储的问题呢?此时就需要做数据库集群,为了提高查询性能将一个数据库的数据分散到不同的数据库中存储,为应对此问题就出现了——MyCat MyCat作用: 能满足数据库数据大量存储;提高了查询性能 读写分离 数据分片 垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分

MySQL高可用之KeepAlived+双主

元气小坏坏 提交于 2020-02-25 23:36:25
MySQL高可用之KeepAlived双主 生产环境中一台mysql主机存在单点故障,所以要确保mysql的高可用性,即两台MySQL服务器。如果其中有一台MySQL服务器挂掉后,另外一台能立马接替其进行工作。 MySQL的高可用方案一般有如下几种:keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC。 主要介绍利用 keepalived 实现 MySQL 数据库的高可用。 Keepalived+mysql双主来实现MySQL-HA,我们必须保证两台MySQL数据库的数据完全一样。 基本思路 两台MySQL互为主从关系,通过Keepalived配置虚拟IP,实现当其中的一台MySQL数据库宕机后,应用能够自动切换到另外一台MySQL数据库,保证系统的高可用。 环境 Mysql版本:mysql 5.7 Keepalived: keepalived-1.2.20 主机 操作系统 mysql-VIP IP地址 mysql-master01 CentOS 7 192.168.10.100 192.168.1.1 mysql-master02 CentOS 7 192.168.10.100 192.168.1.8 一、配置两台服务器主主同步 该过程的第一部分就是master记录二进制日志

mysql字符集与校对集详解

大城市里の小女人 提交于 2020-02-25 23:08:13
1、字符集 character 设置数据存储编码格式 1)utf8 2)utf8mb4 (支持Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上)) 2、校对集 collate 每种字符集都对应一些校对集,校对集会影响到排序规则、where查询、group by having结果、影响创建索引、影响连接查询索引、distinct等查询 1)utf8mb4_general_ci ( 大小写无关 Case Insensitive 、没有实现Unicode排序规则 ) 2)utf8mb4_unicode_ci ( 基于标准的Unicode来排序和比较,能够在各种语言之间精确排序 ) 3)utf8mb4_general_cs ( 区分大小写 Case Sensitive ) 4)utf8mb4_bin ( 直接将所有字符看作二进制串,然后从最高位往最低位比对。所以很显然它是区分大小写的 ) 3、校对集优先级(字符集优先级同样的顺序) 查询语句(sql)> 列(colmun) > 表(table) > 数据库(database) > mysql实例 (mysql server) 如果全都显示设置了,那么优先级顺序是 SQL语句 > 列级别设置 > 表级别设置 > 库级别设置 > 实例级别设置。

MySQL的操作数据库SQL语法

自作多情 提交于 2020-02-25 22:56:33
MySQL的操作数据库SQL语法 顺序:操作数据库 > 操作数据库中的表 > 操作数据库中的表的数据 MySQL不区分大小写字母 1. 操作数据库 1、创建数据库 2、删除数据库 3、使用数据库 下面的这些SQL语法,在SQLyog都能可视化操作。 1.1. 创建数据库 CREATE DATABASE IF NOT EXISTS westos; 效果: 1.2. 删除数据库 DROP DATABASE IF EXISTS westos; 效果: 1.3. 使用数据库 USE `school`; 效果: 来源: https://www.cnblogs.com/WZ-BeiHang/p/12364376.html

MySql 的安装

南笙酒味 提交于 2020-02-25 22:23:36
MySql 的安装 下载 mysql 可以采用国内镜像 解压安装 在安装路径中添加 my.ini 内容如下: [mysqld] # 设置 3306 端口 port=3306 # 设置 mysql 的安装目录 basedir=D:\mysql # 设置 mysql 数据库的数据的存放目录 datadir=D:\mysql\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为 UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用 “mysql_native_password” 插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置 mysql 客户端默认字符集 default-character-set=utf8 [client] # 设置 mysql 客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8 把 bin 目录添加到环境变量中 以管理员身份运行 cmd 并且进去