mysql数据库

mysql安装和基本配置-redhat

亡梦爱人 提交于 2020-01-01 02:52:22
1.redhat yum替换参考 url:http://blog.csdn.net/zcyhappy1314/article/details/17580943 2.yum卸载mysql rpm -qa|grep -i mysql yum remove mysql mysql-server mysql-libs; 或 rpm -ev MySQL-server-4.0.14-0 MySQL-client-4.0.14-0 卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除 rm -f /etc/my.cnf rm -rf /var/lib/mysql 3.yum 安装mysql [root @sample ~]# yum -y install mysql-server  ← 安装MySQL 参考 url:http://evanlinux.blog.51cto.com/7247558/1374023 4.配置MySQL [root @sample ~]#vim /etc/my.cnf  ← 编辑MySQL的配置文件 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is

MySQL集群(二)之主主复制

被刻印的时光 ゝ 提交于 2020-01-01 02:45:21
前面介绍了主从复制,这一篇我将介绍的是主主复制,其实听名字就可以知道,主主复制其实就是两台服务器互为主节点与从节点。接下来我将详细的给大家介绍,怎么去配置主主复制! 一、主从复制中的问题 1.1、从节点占用了主节点的自增id   环境:     主节点:zyhserver1=1.0.0.3     从节点:udzyh1=1.0.0.5   第一步:我们在主节点中创建一个数据库db_love_1,在创建一个表tb_love(里面有id自增和name属性)。   create database db_love_1;   use db_love_1;   create table tb_love( id int primary key auto_increment, name varchar(30));   第二步:在主节点中添加一条数据,我们可以 在主从节点中都可以看到这条数据都有了 。   insert into tb_love(name)values('zhangsan');   第三步:如果我们在从节点中加入一条数据   insert into tb_love(name)values('lisi');     在从节点中: 在主节点中:     这是自然的因为我们是主从复制,只有主节点写的数据才能同步到从节点中,从节点中的数据是不能同步同主节点中的。因为从节点并没有二进制日志文件

MySQL的事务和视图

蓝咒 提交于 2020-01-01 02:43:15
                  事务 1.概念 一条或者多条sql语句的集合! 事务:就是一堆操作的集合,他们同生共死。要么都执行成功,要么都执行失败 2.事务的特性 ACID A:原子性 完整的,不可分割的   原子性 (Atomicity):在事务中的操作,要么都执行,要么都不执行! C: 一致性 事务执行完毕后,数据的状态是一致的()   一致性(Consistency):事务必须保证数据库从一个一致性的状态变成另一个一致性的状态! I: ISOLation 隔离性 两个事务执行互不影响   隔离性(Isolation):每个事务之间互不干扰!哪怕是并发执行也不干扰! D: 永久性 事务执行完后,对数据的影响是永久的。   持久性(Durability):事务一旦被改变,那么对数据库中数据的影响是永久性的! 3.事务操作的关键字 自动提交事务开关set autocommit=0 开始事务 start transaction /begin 提交事务 commit 回滚事务 rollback set autocommit=1 4.事务+++存储过程 转账的例子 DELIMITER $$ CREATE PROCEDURE usp_transfer() BEGIN ##错误总数默认是0 DECLARE t_error INTEGER DEFAULT 0; ## continue

MYSQL数据库学习七 视图的操作

拜拜、爱过 提交于 2020-01-01 02:43:01
7.1 视图   视图使程序员只关心感兴趣的某些特定数据和他们所负责的特定任务。提高了数据库中数据的安全性。    视图的特点如下: 视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。 视图是由基本表(实表)产生的表(虚表)。 视图的建立和删除不影响基本表。 对视图 内容 的更新(添加、删除和修改)直接影响基本表。 当视图来自多个基本表时,不允许添加和删除数据。 7.2 创建视图   创建完视图,可以将视图当做表一样来执行查询操作,创建视图时视图名不能重复: CREATE VIEW view_name AS 查询语句; 7.3 查看视图    通过为关键字SHOW TABLE设置LIKE参数,可以查看某一个具体表或视图的详细信息: SHOW TABLE STATUS 【FROM db_name】 【LIKE 'pattern'】;   查看关于视图的定义信息: SHOW CREATE VIEW view_name;   查看视图设计信息: DESCRIBE|DESC view_name;   通过系统表查看视图信息:(数据库information_scheme中存在一个包含视图信息的表格views,字段table_name对应视图名。) USE information_schema; SELECT * FROM views WHERE table_name=view

单机多实例MYSQL主从复制

六月ゝ 毕业季﹏ 提交于 2020-01-01 02:21:16
  今天有时间写写,不然心坎里总有点不爽。 单机多实例一直都是屌丝的处事风格 。。。 实验环境   RHEL6.5     172.24.0.130 3306   172.24.0.130 3307 01、本次采用的MYSQL二进制快速安装 下载地址: https://dev.mysql.com/downloads/mysql/ http://pan.baidu.com/s/1qYI0ybq http://pan.baidu.com/s/1pLHM2TH 密码: pg5t #截图操作 #根据需求选择对应的版本 02、解压并建立数据目录 tar zxf xxx.tar.gz -C /tmp mkdir -p {data_3306,data3307} #存放数据 mkdir conf #放my.cnf 03、修改配置文件my.cnf #3306my.cnf [client] default-character-set=utf8 #客户端连接编码 [mysql] auto-rehash #客户端tab补全 default-character-set=utf8 #编码 [mysqld]user=mysql #运行账户 port=3306 #定义端口 log-bin=mysql-bin #开启二进制日志 server-id=001 #定义服务ID max_allowed_packet=50M

MySQL灾备切换

若如初见. 提交于 2020-01-01 02:12:36
1.1 配置mysql主从 主库IP:192.168.8.62 从库IP:192.168.8.65 主库IP:192.168.8.62 操作 mysql -uroot -p mysql> grant replication slave on *.* to tongbu@'192.168.8.65' identified by '123456'; mysql> show master status \G *************************** 1. row *************************** File: mysql-bin.000005 Position: 331 #拿到File 和Position #锁表 flush tables with read lock; 锁表 1.2 从库IP:192.168.8.65 操作 mysql> change master to master_host='192.168.8.62',master_user='tongbu',master_password='123456',master_log_file='mysql-bin.000005',master_log_pos=331; mysql> start slave; mysql> show slave status \G #内容有这两给 YES Slave

mysql双主互备

拈花ヽ惹草 提交于 2020-01-01 01:47:44
mysql主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave),备服务器从主服务器同步数据,完成数据的备份。 【异步同步】 前提:2台服务器,主 192.168.1.101 备 192.168.1.102 1.首先主 备 服务的mysql配置的server的id必须不同,server_id是为了标识binlog,防止同步死循环。 #服务器ID,同个集群必须不同 server_id=1 #端口 port=63751 skip-name-resolve #binlog 过期时间,超过3天未修改的清除 expire_logs_days = 3 #binlog 的名称 log-bin=mysql-bin.log #同步的库排除mysql binlog-ignore-db=mysql #同步的库排除mysql replicate-ignore-db=mysql slave-skip-errors=all #id 的自增量 auto_increment_increment=2 #id 的开始 auto_increment_offset=1 #最大连接数 max_connections=1000 #编码 collation-server=utf8_unicode_ci init-connect=

补充: canal

夙愿已清 提交于 2020-01-01 01:46:28
1. 作用: 同步mysql;做拉链表;更新redis 某些情况无法从日志中获取信息,而又无法利用sqoop等ETL工具对数据实时的监控 2. canal的工作原理: canal的工作原理很简单,就是把自己伪装成slave,假装从master复制数据。 3. mysql的binlog   MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的 DDL 和 DML (除了数据查询语句)语句,以 事件形式记录 ,还包含 语句所执行的消耗的时间 , MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗 。二进制有两个最重要的使用场景:   其一: MySQL Replication 在 Master 端开启 binlog , Master把它的二进制日志传递给slaves来达到master-slave数据一致的目的 。   其二:自然就是数据恢复了,通过使用 mysqlbinlog 工具来使恢复数据。 二进制日志包括两类文件: 二进制日志索引文件 (文件名后缀为 .index )用于记录所有的二进制文件, 二进制日志文件(文件名后缀为.00000*) 记录数据库所有的DDL和DML(除了数据查询语句)语句事件。 4. 分类 mysql binlog的格式,是有三种,分别是 STATEMENT , MIXED , ROW

使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch

老子叫甜甜 提交于 2020-01-01 01:42:57
本文介绍如何使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch。 1.go-mysql-elasticsearch简介 go-mysql-elasticsearch是一个将MySQL数据自动同步到Elasticsearch的服务。 它首先使用mysqldump获取原始数据,然后用binlog增量地同步数据。 github地址: https://github.com/siddontang/go-mysql-elasticsearch 这里有几点注意事项: 1.Mysql的binlog必须是ROW模式,不然启动会报错。 2.连接Mysql的用户权限需要大一些。 2.安装 2.1 安装go 安装go yum install -y go 安装godep go get github.com/tools/godep 下载go-mysql-elastisearch插件 go get github.com/siddontang/go-mysql-elasticsearch 进入对应目录,比如我使用的如下目录/root/go/src/github.com/siddontang/go-mysql-elasticsearch cd /root/go/src/github.com/siddontang/go-mysql-elasticsearch 编译

Mysql主从备份和SQL语句的备份

孤街醉人 提交于 2020-01-01 01:36:21
MySQL服务器的主从配置,本来是一件很简单的事情,无奈不是从零开始,总是在别人已经安装好的mysql服务器之上 ,这就会牵扯到,mysql的版本,启动文件,等一些问题。 http://www.cnblogs.com/roucheng/p/phpmysql.html 不过没关系,先问清楚两点 1、 mysql 配置文件my.cnf的位置 2、如何启动、停止mysql,找好启动文件 假设有两台机器,已经安装好了mysql(尽量同版本,且两台机器同一网络,可以ping通) 有朋友说:“从服务器,不能低于主服务器的版本”,不过我是低于的,没有出现问题。 主机A: 192.168.1.100 从机B:192.168.1.101 可以有多台从机 1、先登录主机 A mysql>GRANT REPLICATION SLAVE ON *.* TO ‘backup’@’192.168.1.101‘ IDENTIFIED BY ‘123456’; 赋予从机权限,有多台丛机,就执行多次 2、 打开主机A的my.cnf,输入 server-id = 1 #主机标示,整数 log_bin = /var/log/mysql/mysql-bin.log #确保此文件可写 read-only =0 #主机,读写都可以 binlog-do-db =test #需要备份数据,多个写多行 binlog-ignore