1 | ##显示当月的日历 |
1103 host 'xxx' is not allowed to connect to this mysql
出现原因:
这是由于mysql服务端root用户所对应的客户端权限设置问题。
默认所对应的客户端地址只有localhost(也就是服务端的机器),
我们目的是任何地址都可以用root访问mysql服务端。
解决办法:
1 | $ mysql -u root -p |
Ubuntu虚拟机安装MySQL并且开启root远程访问
安装mysql很简单,关键是开启这个远程很坑!!!
一、安装
1.安装
1 | sudo apt-get install mysql-server |
等待完成即可,过程中需要设置密码
2.查看是否成功
1 | sudo netstat -tap | grep mysql |
3.登陆mysql
1 | mysql -u root -p |
这条命令回车之后需要输入mysql密码
二、开启远程访问
1 | $ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf |
重启:service mysql restart
接下来就可以在navicat里面连接了
三、注意事项
因为在网上找的很多教程,都是说改这个配置文件:这个是错误的
1 | /etc/mysql/my.cf |
如果是通过apt-get方式安装的,默认的是第二步那个配置文件
mybatis常用jdbctype
Mybatis中JavaType和jdbcType对应关系
JDBC Type | Java Type |
---|---|
CHAR | String |
VARCHAR | String |
LONGVARCHAR | String |
NUMERIC | Java.math.BigDecimal |
DECIMAL | Java.math.BigDecimal |
BIT | boolean |
BOOLEAN | boolean |
TINYINT | byte |
SMALLINT | short |
INTEGER | int |
BIGINT | long |
REAL | float |
FLOAT | double |
DOUBLE | double |
BINARY | byte[] |
VARBINARY | byte[] |
LONGVARBINARY | byte[] |
DATE | Java.sql.Date |
TIME | Java.sql.Time |
TIMESTAMP | Java.sql.Timestamp |
CLOB | Clob |
BLOB | Blob |
ARRAY | Array |
DISTINCT | mapping of underlying type |
STRUCT | Struct |
REF | Ref |
DATALINK | Java.net.URL |
SQL优化之小细节 - 点滴记录
不知道现在是不是还很多人首先就把关联的id放在where的第一位
这里有一个简单的对比,情况相同的时候,两个sql的时间相差八倍
优:0.077s
1 | SELECT ew.all_amt , |
劣:0.630s
1 | SELECT ew.all_amt , |
上述原因:where子句从后往前执行,应该把大的过滤条件放在后面
记录时间:2017年3月9日 10:44:59
ubuntu重装系统 - 在ubuntu系统下重新安装
有时候在linux环境下需要重新安装一下系统
这里我就说一下今天我安装的方法。
下载好ubuntu的镜像,随便放在一个非系统盘的根目录下
改名为:ubuntu.iso
1 | sudo chmod 777 /boot/grub/grub.cfg |
保存退出,重启就会进入系统。
桌面上点击那个安装的图标即可完成重装
Ubuntu 16 安装IDEA 并且设置快捷启动
安装简单,下载官网的文件(with Java的比较方便)
解压之后在bin目录下执行
1 | sudo sh idea.sh |
就会进入安装程序,接下来会跳出图形界面,跟windows差不多的步骤
没有激活码可以看之前的文章
关键的一个是我发现网上说的建立桌面快捷方式不行
就这样弄个方便的
1 | cd ~ |
idea jrebel 7.0 破解 - 获取JRebel激活码
其实这玩意完全不要破解,直接官网注册就会给一个注册码
注册地址:https://zeroturnaround.com
注册完了之后在IDEA里面去设置,会提醒激活。
tomcat部署了项目之后,点击JR启动是可以热部署的!!!
改了Java代码都不要重新启动项目,哈哈!!!
IDEA failed to create jvm:error code -1
今天先更改了 idea64.exe.vmoptions 这个配置文件
一直么有重启,后来就安装了个插件重启一下,结果就泪崩了
一直出现这个错误
总以为是环境变量配置的问题,或者是文件损坏了什么
重启,重装jdk,重新配置什么都试过,不管用。
后来替换了配置文件就好了!!!
解决方案
配置文件路径:
1 | \IDEA HOME\bin\idea64.exe.vmoptions |
默认配置文件内容如下:
32bit
1 | -server |
64bit
1 | -Xms128m |
by the way:
IDEA 写博客真是舒服啊~
完全不用切换来切换去的!
count函数效率问题 - 了解count函数
count函数的作用
想要真正的理解count函数,我们就必须明白count函数的作用。
作用一:统计某一列非空(not null)值得数量,即统计某列有值得结果数,使用count(col)。
作用二:统计结果集的行数,此时不用管某列是否为null值。即使用count(*).
明白了这点,我们就应该知道MySQL的count(*)并不是想象中的那样,统计每一列的值,而是直接忽视掉所有列,直接统计行数,那么它的效率肯定是很高的。
但是有一点,当col指定了该字段为NOT NULL时实际上,MySQL会自动将count(col)转为count(*),但是这样也同样耗费了些时间,如果col没有指定为NOT NULL的话,那么效率就更低了,MySQL就必须要判断每一行的值是否为空。
所以综上所述,如果是要统计行数最好优先使用select count(*)
当统计某一列等于多少的值得时候可以使用下面两种方法:
1 | SELECT SUM(IF(id = 23,1,0)) FROM table |