mysql数据库

MySQL安装图解

孤者浪人 提交于 2020-01-25 03:38:01
下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下! 打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面 mysql安装向导启动,按“Next”继续 选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程 在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server(mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation(文档)”也如此操作,以保证安装所有文件。点选“Change...”,手动指定安装目录。 填上安装目录,我的是“F:\Server\MySQL\MySQL Server 5.0”,也建议不要放在与操作系统同一分区,这样可以防止系统备份还原的时候,数据被清空。按“OK”继续。 返回刚才的界面,按“Next”继续 确认一下先前的设置,如果有误,按“Back

mysql中联合索引排序的问题

試著忘記壹切 提交于 2020-01-25 03:23:42
背景 在test数据库中,查询一组数据会根据id进行排序,而同样的条件在pre数据库中查询却没有根据默认的id主键来排序,于是激起了好奇心。 情况 正常情况下,在默认没有写order by条件的情况下,查询出来的结果会根据id主键从小到大的排序,例如在测试环境中会有: 但是在pre数据库中,则有: 分析 到底是什么原因导致了没有根据id来排序呢?第一点想到的一定是与表结构定义有关,左侧是test的表定义,右侧是pre的表定义 可以看到,两个表的只有索引不一样,在test数据库下,走的是INDEX_PLAN_ID的索引,而在pre数据库下,走的是联合索引idx_teach_plan_question,可能排序就与索引有关 验证 test数据库sql解释 pre数据库sql解释 发现查询条件走的索引和分析的一致。 另外当我们删除掉test数据库中该表的INDEX_PLAN_ID索引后,也会出现id乱序的情况,从另一个方面也验证了根据联合索引的排序。 结论 若查询条件中没有走索引,或者是走的普通索引,结果都会按照id主键从小到大排序 若查询条件走联合索引,则结果会按照联合索引的从左到右的字段先后顺序排序。 来源: CSDN 作者: zhuxingKevin 链接: https://blog.csdn.net/zhuxingKevin/article/details/103770977

MySQL数据库学习之实战-个人笔记与总结

送分小仙女□ 提交于 2020-01-25 01:51:39
使用My’SQL数据库中的数据进行减法运算时, 不是不可以,要注意: 比如说我当前两张表是这样的: 一个是theorder用来存放订单,一个是product用来存放产品,想求库存量,需要用product表中的amount减去theorder表中对应产品的被订购的数量总和。 我开始写成了这样: select ( product . amount - select sum ( theorder . amount ) from theorder where productID = 3 ) as inventory where - > product . ID = 3 from product ; 看着蛮正常的,人就是说这语句有毛病: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select sum(theorder.amount) from theorder where productID=3) as inventory where ’ at line 1 然后我改,分步写: 反正分开好着整一起就不行了。 后来网上搜了一下

CentOS7安装Mysql数据库

こ雲淡風輕ζ 提交于 2020-01-24 23:58:38
CentOS7安装Mysql数据库 1.安装前的准备工作 (1)关闭selinux 两种方式(建议2) #(1)临时关闭,及时生效,重启失效 [ root@localhost ~ ] # setenforce 0 #(2)永久关闭,重启生效,永不失效 [ root@localhost ~ ] # vi /etc/selinux/config 将SELINUX = enforcing修改为SELINUX = disabled,然后重启生效 (2)关闭防火墙 两种方式 ( 建议2 ) #(1).临时关闭:即时生效,重启失效 #查看防火墙状态 [ root@localhost ~ ] # systemctl status firewalld.service #关闭防火墙 [ root@localhost ~ ] # stop firewalld.service #继续查看防火墙状态 [ root@localhost ~ ] # systemctl status firewalld.service 查看防火墙状态,可以看到,disactive(dead)的字样,说明防火墙已经关闭 方法1一旦重启操作系统,防火墙就 自动开启 了,该怎么设置才能永久关闭防火墙 #(2).永久关闭防火墙,重启生效,永不失效 [ root@localhost ~ ] # systemctl disable

mysql查看表结构命令

戏子无情 提交于 2020-01-24 21:39:44
mysql查看表结构命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名; use information_schema select * from columns where table_name='表名'; 顺便记下: show databases; use 数据库名; show tables; 原有一unique索引AK_PAS_Name(PAC_Name)在表tb_webparamcounter中, 执行以下sql修改索引 alter table tb_webparamcounter drop index AK_PAS_Name; alter table tb_webparamcounter add UNIQUE AK_PAS_Name(PC_ID,PAC_Name); 若发现索引的逻辑不对,还需要再加一个字段进去,执行 alter table tb_webparamcounter drop index AK_PAS_Name; alter table tb_webparamcounter add UNIQUE AK_PAS_Name(PC_ID,PAC_Name,PAC_Value); 注意:这时的PC_ID,PAC_Name,PAC_Value三个字段不是FOREIGN KEY

sqlalchemy 使用pymysql连接mysql 1366错误

邮差的信 提交于 2020-01-24 21:23:26
一、错误情况 mysql 5.7.2 \python35\lib\site-packages\pymysql\cursors.py:166: Warning: (1366, "Incorrect string value: '\\xD6\\xD0\\xB9\\xFA\\xB1\\xEA...' for column 'VARIABLE_VALUE' at row 480") result = self._query(query) 今天在使用ORM链接数据库时遇到到了这个错误,使用的是sqlalchemy(mysql+pymysql)可以正常插入数据,不管是在mysql客户端SQL语句,还是orm下,但是错误只有orm查询数据时给出。在网上看了很多,我本身数据库my.ini如下默认default-character-set=utf8 ,本身也不是插入中文出错 ....... # *** upgrade to a newer version of MySQL. [client] default-character-set=utf8 [mysqld] port=3306 basedir ="G:\mysql" ...... 1.1 检查自己Mysql配置 my.ini 如上 你要确认自己字符编码还可以使用命令 mysql> show variables like '%char%';

SSM整合配置

孤街浪徒 提交于 2020-01-24 21:11:26
文档目录结构 jdbc.properties #数据库配置文件 jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/tmall_ssm?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC jdbc.username=root jdbc.password=root MyBatis配置文件 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> < configuration > <!--开启驼峰命名 --> < settings > < setting name = " mapUnderscoreToCamelCase " value = " true " /> </ settings > <!-- 可以在mybatis的配置文件中或者web.xml文件中配置log4j --> <!-- <settings> <setting name="logImpl" value="LOG4J" /> </settings> --> <!--实体类别名 --> <!-

MySQL数据优化总结-查询备忘录

你离开我真会死。 提交于 2020-01-24 15:29:35
一、优化分类 二、测试数据样例 参考mysql官方的sakina数据库。 三、使用mysql慢查询日志对有效率问题的sql进行监控 第一个,开启慢查询日志。第二个,慢查询日志存储位置。第三个,没有使用索引的也会记录到慢查询日志中。第四个,超过1秒之后的查询记录到慢查询日志中(通常设置100ms)。 3.1、分析慢查询日志文件 3.1.1 tail命令 tail -50 /home/mysql/sql_log/mysql_slow.log,输入文件中的尾部内容,即末尾50行数据. 我们抽出其中一条,查看,如下图所示。 query_time,查询耗时(单位秒);lock_time,锁表时间。rows_sent,发送请求的行数;rows_examined,查询数据导致扫描表用到的行数。 3.1.2 官方mysqldumpslow工具 mysqldumpslow ,默认随mysql安装。 mysqldumpslow -h,可查询工具支持的命令。 mysqldumpslow -s r -t 10 /var/lib/mysql/localhost-slow.log | more ,返回结果如下图所示。 3.1.3 pt-query-digest工具 比mysqldumpslow反馈的信息多。 pg-query-digest --help 查看帮助,查看使用命令。 pg-query-digest

MySQL, mysql命令注释

梦想的初衷 提交于 2020-01-24 14:38:50
MySQL, mysql命令注释 /opt/mysql/bin/mysql -B, --batch Don't use history file. Disable interactive behavior. (Enables --silent.) --bind-address=name IP address to bind to. 绑定IP地址 --character-sets-dir=name Directory for character set files. 字符集设定文件,一般不用指定,直接放在my.cnf里面 --column-type-info Display column type information. 列出列属性 -D, --database=name Database to use. 指定连接时数据库 --default-character-set=name Set the default character set. 设定启动SESSION的字符集 --delimiter=name Delimiter to be used. --enable-cleartext-plugin Enable/disable the clear text authentication plugin. -e, --execute=name Execute command and

idea連接MySQL数据库

元气小坏坏 提交于 2020-01-24 11:08:58
idea連接MySQL数据库 view—>tools window —> database —> Data Source —> MySql 点击 会出现错误-----》 Connection to library@localhost failed. [08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up. 解决:试试更改区时(往往问题都是出现在这) a. 在终端里先使用管理员登录mysql,也就是root mysql -uroot -p123 b. 输入命令 show variables like ‘%time_zone%’ 设置完以后,退出mysql,重新登录,检查时间是否被修改 来源: CSDN 作者: weixin_46040337 链接: https://blog.csdn.net/weixin_46040337/article/details/103994118