mysql数据库

mysql+redis探究

风格不统一 提交于 2020-04-06 21:21:03
1. mysql部署 mysql下载: https://dev.mysql.com/downloads/mysql/ 这里下载的是mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz。 安装过程参考http://blog.csdn.net/live006/article/details/53725666,这个实际操作可行。 安装成功后,在linux终端控制台直接敲入mysql -u root -p后会提示输入密码,表示能正常登录。而如果提示命令不识别,可能是/usr/bin下面找不到mysql的软链接,执行ln -s /usr/local/mysql/bin/mysql mysql即可。 2.c++连接mysql c++代码中要连上mysql服务器,必须有mysql的客户端api。这次我在windows上测试连接,选择一个靠谱的方式是:下载一个mysql客户端(mysql_installer_community_V5.6.21.1_setup.1418020972.msi),安装后在安装目录MySQL\MySQL Connector.C 6.1路径下可以找到相应的头文件和依赖库文件,加入到工程中即可。之所以采用这种方式,因为下载客户端后可以用客户端先测试连接,如果正常则说明api可用。 本次测试,我采用qt中间库,在\qt-4.7.0\src

mysql apach php

有些话、适合烂在心里 提交于 2020-04-06 21:20:35
一、MySql MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQL将会安装在C:\Program Files\MySQL\MySQL Server 5.6 该目录中;zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行配置。 解压之后可以将该文件夹改名,放到合适的位置,个人建议把文件夹改名为MySQL Server 5.6,放到C:\Program Files\MySQL路径中。当然你也可以放到自己想放的任意位置。 完成上述步骤之后,很多用户开始使用MySQL,但会出现图示的错误。这是因为没有配置环境变量所致。配置环境变量很简单: 我的电脑->属性->高级->环境变量 选择PATH,在其后面添加: 你的mysql bin文件夹的路径 (如:C:\Program Files\MySQL\MySQL Server 5.6\bin ) PATH=.......;C:\Program Files\MySQL\MySQL Server 5.6\bin (注意是追加,不是覆盖) 配置完环境变量之后先别忙着启动mysql,我们还需要修改一下配置文件(如果没有配置,之后启动的时候就会出现图中的错误哦!:错误2 系统找不到文件),mysql-5.6

利用Canal解析mysql binlog日志

限于喜欢 提交于 2020-04-06 21:16:27
一、安装包下载(canal.deployer-x.x.x.tar.gz 官方建议使用1.0.22版本) https://github.com/alibaba/canal/releases 二、解压文件 tar -zxvf canal.deployer-1.0.22.tar.gz -C /app/canal/ 三、修改canal配置文件 vim $CANAL_HOME/conf/canal.properties vim $CANAL_HOME/conf/example/instance.properties 说明: canal.zkServers : zk地址 canal.instance.mysql.slaveId : mysql serverId(不能与mysql配置中的server_id相同) canal.instance.master.address : 数据库地址 canal.instance.dbUsername : mysql用户名 canal.instance.dbPassword : 密码 canal.instance.defaultDatabaseName : 默认监控的数据库 canal.instance.filter.regex : 过滤的正则表达式(默认全库全表) 四、数据库配置 数据库需要开启binlog日志,并且是ROW模式 五、启动canal服务

MySQL 8.0驱动

旧城冷巷雨未停 提交于 2020-04-06 18:40:37
MySQL 8.0 开始数据库相比常用的 5.X 版本发生了比较大的变化,我们在连接数据库的过程中许多地方也要发生一些变化。 总结一下,想要利用 mysql-connector-java 与 MySQL 8.X 版本建立连接,有以下四个方面与 MySQL 5.X 版本相比发生了变化。 1、 MySQL 8.0 以上版本驱动包版本 mysql-connector-java-8.X.jar   MySQL 版本和 mysql-connector-java 版本对应关系如下,MySQL官方也是推荐使用 mysql-connector-java-8.X.jar 去连接 MySQL 8.0 的版本 Connector/J version Driver Type JDBC version MySQL Server version Status 5.1 4 3.0, 4.0, 4.1, 4.2 5.6*, 5.7*, 8.0* General availability 8.0 4 4.2 5.6, 5.7, 8.0 General availability. Recommended version    2、com.mysql.jdbc.Driver 更换为 com.mysql. cj .jdbc.Driver。 3、 MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显式关闭。  

MySQL:Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezon

独自空忆成欢 提交于 2020-04-06 12:01:54
时区错误,MySQL默认的时区是UTC时区,比北京晚了8个小时,所以要修改mysql的时长 window环境下: 打开cmd,进入到mysql安装目录下的bin目录 输入以下命令 mysql -hlocalhost -uroot -p 输入MySQL的数据库连接密码 执行以下命令 set global time_zone='+8:00'; 再次连接成功 来源: oschina 链接: https://my.oschina.net/u/4253180/blog/3221542

Mysql主从复制搭建

百般思念 提交于 2020-04-06 11:31:54
1.mysql主库会把所有的写操作记录在binlog日志中,并且生成log dump线程,将binlog日志传给从库的I/O线程,从库生成两个线程,一个是I/O线程,另外一个是SQL线程。 主将更改操作记录到binlog里从将主的binlog事件(sql语句) 同步本机上并记录在relaylog里从根据relaylog里面的sql语句按顺序执行。 2.主从复制步骤: 确保从数据库与主数据库里的数据一致 在主数据库里创建一个同步账户授权给从数据库使用 配置主数据库(修改配置文件) 配置从数据库(修改配置文件) 一主一从 主主复制 一主多从---扩展系统读取的性能,因为读是在从库读取的 多主一从---5.7版本开始支持 联级复制 3.需求: 搭建两台MYSQL服务器,一台作为主服务器,一台作为从服务器,主服务器进行写操作,从服务器进行读操作。 4.环境说明【使用docker启动两个】 名称 Ip Port M1 192.168.149.128 3307 M1S1 192.168.149.128 3308 5.安装【阿里云需要放掉端口3307,3308,本机关闭防火墙即可】 docker run --name M1 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 docker run --name M1S1 -p 3308

RaspberryPi(树莓派)安装 MariaDB 数据库没有办法远程访问

痞子三分冷 提交于 2020-04-06 11:30:50
在 RaspberryPi(树莓派) 上安装 MariaDB 或者 MySQL 数据库的时候。 设置的用户没有办法通过网络远程登录。 首先确定的是,用户已经设置了访问权限。 提示的错误信息是: ERROR 2002 (HY000): Can't connect to MySQL server on '192.168.0.201' (115) 其中地址 192.168.0.201 是 RaspberryPi(树莓派)的地址 这里是一个有关 RaspberryPi(树莓派)的配置问题。 你可以使用 nano /etc/mysql/mariadb.conf.d/50-server.cnf 编辑这个文件。 找到 #bind-address = 127.0.0.1 这个语句。 如果你没有注释掉这个语句的话,你需要注释掉。 因为如果你不注释掉这个,你的 MariaDB 数据库只会绑定 127.0.0.1 的地址,这样的话你只能在 localhost 上登录。 随后你可以尝试通过网络访问你的数据库了。 https://www.cwiki.us/questions/57938841 来源: oschina 链接: https://my.oschina.net/honeymoose/blog/3220454

JMeter配置JDBC测试SQL Server/MySQL/ORACLE

余生颓废 提交于 2020-04-06 10:16:03
一、配置SQL Server 1、下载sql驱动,将sqljdbc4.jar放到JMeter安装目录/lib下。 2、启动JMeter,右键添加->配置文件->JDBC Connection Configuration。 3、设置JDBC Connection Configuration属性     (1)Variable Name:cnn,后续JDBC Request中会用到这个值;   (2)Database URL:jdbc:sqlserver://数据库地址:1433;instanceName=实例名;databaseName=数据库名称;   (3)JDBC Driver class:com.microsoft.sqlserver.jdbc.SQLServerDriver (SqlServer固定写法);   (4)Username/Password:数据库的用户名和密码; JDBC Connection Configuration配置如下: JDBC Request 配置如下: 注意:JDBC Request 中的 Variable Name ......要和DBC Connection Configuration中的Variable Name ......一致。 错误排查: 1.那么就是数据库名字错误了: Response message: java.sql

JNDI数据源局部配置(解决Cannot create JDBC driver of class '' for connect URL 'null')

孤街醉人 提交于 2020-04-06 10:10:33
最开始,我是借鉴 孤傲苍狼 的JNDI教程去做的,他讲得很详细,但是坏处也就是因为他讲的太详细。查了很多书,都是建议说不要用全局去配置JNDI,一是要修改tomcat的server.xml,容易破坏tomcat ,其次是那样吃力不讨好。我是建议用局部变量就好的。 1.步骤一:学习配置JNDI之前,介绍你一定要先掌握tomcat的配置虚拟目录(可以去看 Tomcat中主目录配置与虚拟目录配置问题 这样的文章,也可以去我的 tomcat配置虚拟目录 -思维焦点网易博客 找类似的链接)。学习了tomcat的配置虚拟目录后你就知道了为什么要在 tomcat安装目录\conf\Catalina\localhost 下创建.xml文件。 2.步骤二: 开始通过局部配置JNDI(这个教程也只讲局部配置)。 下面会附上代码,标注颜色的,你要根据自己的实际情况改一下。 3.步骤三:最后通过tomcat的startup.bat启动和用电脑的浏览器是可以看到成功连接数据源和驱动的,但是用eclipse启动tomcat就不能了,总是提示Cannot create JDBC driver of class '' for connect URL 'null'问题 ,后来找到了 tomcat+mysql问题,找不到jdbc驱动? ,说是jdbc for mysql除了mysql-connector-java-3

MyISAM与InnoDB两者之间怎么选择

痴心易碎 提交于 2020-04-06 09:21:47
1、MyISAM不支持事务,InnoDB是事务类型的存储引擎 当我们的表需要用到事务支持的时候,那肯定是不能选择MyISAM了。 2、MyISAM只支持表级锁,BDB支持页级锁和表级锁默认为页级锁,而InnoDB支持行级锁和表级锁默认为行级锁 表级锁:直接锁定整张表,在锁定期间,其他进程无法对该表进行写操作,如果设置的是写锁,那么其他进程读也不允许 MyISAM是表级锁定的存储引擎,它不会出现死锁问题 对于write,表锁定原理如下: 如果表上没有锁,在其上面放置一个写锁,否则,把锁定请求放在写锁队列中。 对于read,表锁定原理如下 : 如果表上没有写锁定,那么把一个读锁放在其上面,否则把锁请求放在读锁定队列中 当一个锁定被释放时,表可被写锁定队列中的线程得到,然后才是读锁定队列中的线程。这意味着,如果你在一个表上有许多更新,那么你的SELECT语句将等到所有的写锁定线程执行完。 行级锁:只对指定的行进行锁定,其他进程还是可以对表中的其他行进行操作的。 行级锁是Mysql粒度最小的一种锁,它能大大的减少数据库操作的冲突,但是粒度越小实现成本也越大。 行 级锁可能会导致“死锁”,那到底是怎么导致的呢,分析原因:Mysql行级锁并不是直接锁记录,而是锁索引。索引分为主键索引和非主键索引两种,如果一条 sql语句操作了主键索引,那么Mysql就会锁定这个主键索引