MySQL的零碎知识点
让Windows下的MySQL表名大小写敏感:
在mysql查询中执行:SHOW VARIABLES LIKE 'lower_case_table_names';
值的含义---》0:大小写敏感;1:大小写不敏感
操作:
1.修改MySQL的“my.ini”文件,在文件最末新增一行:“lower_case_table_names=0”
2.重启MySQL服务即可生效。
MySQL比较时间大小,如:
where time1 between '2011-03-03 17:39:05' and '2011-03-03 17:39:52'
MYSQL的简单用户操作:
用root用户登录:
mysql -u root -p
创建用户:
CREATE USER '账号名'@'可以登录的主机,常用通配符%,表示可以从任意远程主机登陆' IDENTIFIED BY '账号密码';
更改用户密码:
SET PASSWORD FOR '账号名'@'可以登录的主机' = PASSWORD('新密码');
若是更改当前用户密码,则是:SET PASSWORD = PASSWORD("新密码");
授予用户权限 :
GRANT ALL ON *.* TO '账号名'@'可以登录的主机';
GRANT SELECT,INSERT,UPDATE ON 数据库名.表名 TO '账号名'@'可以登录的主机';
撤销用户权限 :
REVOKE ALL ON *.* FROM '账号名'@'可以登录的主机';
删除用户:
DROP USER '账号名'@'可以登录的主机';
MYSQL中的核对规则utf8_unicode_ci、utf8_general_ci的区别总结:
http://www.jb51.net/article/48775.htm
设置MYSQL数据库编码为UTF-8:
1.先检查当前数据库编码:登录进MYSQL后执行 show variables like '%char%';
2.编辑MySql的配置文件:MYSQL的配置文件Windows下一般在系统目录下或者在MYSQL的安装目录下名字叫my.ini,可以搜索,Linux下一般是/etc/my.cnf
--在各个标签下加上以下内容,如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可:
[mysqld]
default-character-set = utf8 (MySQL5.5之后好像不支持了,未确认,可以直接删去)
character_set_server = utf8
[mysqld_safe]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[client]
default-character-set = utf8
3.重新启动MySql服务即可:service mysqld restart
MySQL提示“too many connections”:
产生这种问题的原因是:连接数超过了 MySQL 设置的值,与 max_connections 和 wait_timeout都有关系。wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。
登录MySQL数据库,输入:show processlist;
可以得到当前所有连接到这个MySQL数据库的连接信息。
解决方法:
- 可以根据进程ID号(在表中的第一列)执行kill语句杀掉目标连接
- 修改MySQL配置文件: vi /etc/my.cnf
设置成max_connections=1000,wait_timeout=5。如果没有此项设置可以自行添加,修改后重启MySQL服务即可。如果经常性报此错误,则要考虑对服务器作整体性能优化
注:
为了防止发生too many connections时候无法登录的问题,mysql manual有如下的说明:
mysqld actually allows max_connections+1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege. By granting the SUPER privilege to administrators and not to normal users (who should not need it), an administrator can connect to the server and use SHOW PROCESSLIST to diagnose problems even if the maximum number of unprivileged clients are connected.
因此, 必须只赋予root用户的SUPER权限,同时所有数据库连接的帐户不能赋予SUPER权限。前面说到的报错后无法登录就是由于我们的应用程序直接配置的root用户
用binary解决mysql数据大小写敏感问题:
BINARY不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写。
MySQL特别是4.*以前的对于中文检索会有不准确的问题,可以在检索的时候加上binary,4.*之后的版本就不需要了。
MySQL不支持SELECT INTO FROM语句:
可用Create table CopyOfTable1 (Select * from Table1)代替。
关于Innodb和MyISAM引擎:
MySQL的零碎知识点的更多相关文章
- webdriver零碎知识点
#零碎知识点,用于记录平时遇到的比较杂的知识点 driver.current_url 获取当前url phantomjs 实现无浏览器界面自动化测试(driver = webdriver.Phanto ...
- Android零碎知识点 1
Android零碎知识点 1 Android在2.3版本上开始支持KeyEvent.KEYCODE_PAGE_DOWN以及KeyEvent.KEYCODE_PAGE_UP的操作. Androi ...
- mysql关于索引的一些零碎知识点(持续更新)
1.is null可以使用索引(网上很多文章存在误导,这个确实可以使用索引),is not null无法使用索引. 2.为什么重复数据较多的列不适合使用索引? 假如索引列TYPE有5个键值,如果有1万 ...
- C++ 零碎知识点
C++的一些知识点比较零碎,下面清单的形式做一些记录与归纳,以供参考. 1.赋值操作符重载(深复制): (1)由于目标对象可能引用了以前的一些数据,所以应该先delete这些数据: (2)注意到对象可 ...
- Mysql数据库重要知识点(知了堂学习心得)
Mysql数据库知识点 1.管理数据库语句: 使用数据库: use test; 添加数据库: create database 数据库名; create database test; 修改数据库: al ...
- MySQL易忘知识点梳理
一.零碎知识 1.mysql where子句区分大小写:WHERE BINARY 2.判断是否为null,只能用is null,is not null,不能用=null或!=null 3.函数 4.S ...
- MySQL 常见面试知识点
之前简单总结了一下MySQL的场景面试知识点 1.讲下MVCC原理 2.MySQL高可用架构介绍 3.OSC(在线更改表结构)原理 4.MySQL性能调优有哪些关键点/经验 5.MySQL在线备份方案 ...
- 大数据学习day19-----spark02-------0 零碎知识点(分区,分区和分区器的区别) 1. RDD的使用(RDD的概念,特点,创建rdd的方式以及常见rdd的算子) 2.Spark中的一些重要概念
0. 零碎概念 (1) 这个有点疑惑,有可能是错误的. (2) 此处就算地址写错了也不会报错,因为此操作只是读取数据的操作(元数据),表示从此地址读取数据但并没有进行读取数据的操作 (3)分区(有时间 ...
- MySQL 锁常见知识点&面试题总结
节选自 <MySQL 常见知识点&面试题总结> 表级锁和行级锁了解吗?有什么区别? MyISAM 仅仅支持表级锁(table-level locking),一锁就锁整张表,这在并发 ...
随机推荐
- 【转】android 电容屏(一):电容屏基本原理篇
关键词:android 电容屏 tp ITO 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung exynos 42 ...
- wpf msdn在线地址http://msdn.microsoft.com/zh-cn/library/ms752324(v=vs.110).aspx
http://msdn.microsoft.com/zh-cn/library/ms752324(v=vs.110).aspx
- sshd安全性能优化
sshd服务是远程登录服务,默认端口为22,对于其优化一是为了增加服务器的安全,避免暴力破解:二是为了加快速度连接,减少不必要的带宽的浪费. sshd服务的配置文件为/etc/ssh/sshd_con ...
- java concurrent 之 SynchronousQueue
Java 6的并发编程包中的SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除操作take,反过来也一样. 不像Arra ...
- 远程调试weinre的使用
一.用途 *鉴于在浏览器调试移动端页面无法准确反映移动端实际情况并无法高效调试,故常常使用远程调试工具通过电脑连接手机进行调试,常用远程调试方式: 1.chrome连接安卓机远程调试 2.Mac连接苹 ...
- 在linq查询环境下通过sql语句来访问数据库
接上一篇随笔 这里主要介绍在linq环境下,如果实现用sql来访问数据库,同时也介绍在EF框架中如何添加新的方法来访问数据库. 1.首先,在数据访问层(EF.DAO,EF.IDAO)中添加具体的函数来 ...
- Eclipse自动生成作者、日期注释等功能设置(转载)
在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的. 修改作者.日期注释格式:打开Windows->Preferences->Java->Co ...
- Spring--------web应用中保存spring容器
---恢复内容开始--- 问题:在一个web应用中我使用了spring框架,但有一部分模块或组件并没有托管给Spring,比如有的可能是一个webservice服务类,如果我想在这些非托管的类里使用托 ...
- iOS应用之间的跳转与数据传递
在开发的时候遇到需要从其他APP调用自己的APP的需求,比如从Safari中打开APP,并且传递一些信息的需要 1.首先设置自己的URL types 打开项目中的工程文件,打开info选项,在下面的U ...
- Core Bluetooth【官方文档翻译】【02】
1.中心设备和外围设备以及它们在蓝牙通讯中的角色. 在所有的BLE( Bluetooth low energy,下文简称蓝牙4.0 )通讯中都涉及2个主要的角色:中心设备和外围设备.它是基于传统的客户 ...