LINUX服务器下开启MYSQL远程连接权限

LINUX服务器下开启MYSQL远程连接权限
mysql中默认不支持远程连接了这样也是为了安全考虑了,要不很容易给其它人下你数据库,这个是非常严重的问题了. 安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限,下面是基本的步骤: 1、登录到mysql中,为root进行远程访问的授权,执行下面的命令. 1.1、改表法:可能是你的帐号不允许从远程登陆,只能在localhost,这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” ...

mysql limit 分页优化详解

mysql limit 分页优化详解
在mysql中分页会为我们提供limit命令可以直接进行分页了,如果几条数据直接使用limit分页没有一点问题,但是如果几万或百万数据你会发现这样机器会天天卡死. 实现分页,我们一般会使用 select * from table where id >100 limit a,b, 当分页过大时,如达到一万页,此时 a =十万,b=10,虽然此处使用到了索引,不用索引情况会更加糟糕,但是通过索引检索后还是需要回表去取 十万零一十条数据,然后丢掉前十万条,返...

mysql中INSERT IGNORE 与INSERT INTO,REPLACE INTO的区别

mysql中INSERT IGNORE 与INSERT INTO,REPLACE INTO的区别
在mysql中INSERT IGNORE,INSERT INTO,REPLACE INTO三者都是插入数据到mysql数据库的语句,那么这三者之间到底有什么区别呢? mysql中常用的三种插入数据的语句: insert into表示插入数据,数据库会检查主键,如果出现重复会报错; replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样; insert ignore表示,如果中...

MySQL下varchar类型最大长度是多少

MySQL下varchar类型最大长度是多少
在MySQL下varchar类型最大长度是多少呢,我们百度查一下会发现varchar长度为varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据了,那到底是不是这样的呢,我们来看看. 1、限制规则 字段的限制在字段定义的时候有以下规则: a) 存储限制:varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度,长度超过255时需要2个字节,因此最大长度不能超过65535. b) 编...

mysql重装后连接数据库提示1045错误

mysql重装后连接数据库提示1045错误
今天发现一个奇怪的问题把mysql重新安装之后发现再去连接mysql提示1045错误了,无法正常连接mysql数据库了,下面我们一起来看此问题解决办法. 之前因为没有正常关机 mysql 服务无法正常启动,后来重新安装了之后还是不能进入root账户提示1045错误. 解决方法: 1、停止服务,2、修改my.ini,找到【mysqld】,在其下加上一行 skip-grant-tables,3、启动mysql服务. 这样就可以进入了,进入之后修改 mysql库下面的user...

ORA-01994: GRANT 失败: 口令文件缺失或已禁用问题解决方法

ORA-01994: GRANT 失败: 口令文件缺失或已禁用问题解决方法
本文章来给大家总结一下关于ORA-01994: GRANT 失败:口令文件缺失或已禁用问题解决方法,这里主要是权限问题了,下面给各位同学整理了一些关于GRANT 失败解决办法. 要给某个用户赋权限时发生的错误,代码如下: sys@ORCL>grant sysdba to sys;    grant sysdba to sys    *    ERROR at line 1:  &...

MySQL实现模糊查询(REGEXP,LIKE)有2种方式

MySQL实现模糊查询(REGEXP,LIKE)有2种方式
在mysql中实现模糊查询有两种方法一种是LIKE/NOT LIKE,另一种是REGEXP/NOT REGEXP方法,下面我来给大家介绍它们的用法,希望此教程对各位同学会有所帮助. 一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP,或RLIKE/NOT RLIKE,它们是同义词. 第一种:标准的SQL模式匹配. 它有2种通配符:“_”和“%”,“_”匹配任意单个字符,而“%”匹配任意多个字符(包括0个),举例如下: SELECT * FROM table_name WHERE column_name LIKE ...

MySql中substring字符串截取函数用法

MySql中substring字符串截取函数用法
在mysql中常用的字符串截取函数有substring,SUBSTRING_INDEX了,substring是pos开始长度为len的字符串了,这个与php字符串截取函数有点像,下面我们一起来看看. 用法: SUBSTRING(str,pos,len)    SUBSTRING(str FROM pos FOR len)    SUBSTRING(str,pos)    SUBSTRING(str FROM pos)    别名SUBSTR,截取字符...

mysql中ASCII、ORD函数用法详解

mysql中ASCII、ORD函数用法详解
在mysql中ASCII、ORD函数都是把字符转换成ascii码值的函数了,下面我来给各位同学介绍一下mysql中ASCII、ORD用法. 一,ASCII(str1) 返回字符串str的最左面字符的ASCII代码值,如果str是空字符串,返回0,如果str是NULL,返回NULL. 举例:1.代码如下: mysql> select ascii('hi');    +————-+    | ascii('hi') |    +————-+  &...

MySql format与date_format函数用法区别

MySql format与date_format函数用法区别
在mysql中格式化函数有几个,像format,date_format,TIME_FORMAT这三个函数有很多朋友都不明白,下面我来给大家详细举例说明这三个函数用法 一,FORMAT(X,D) 格式化数字X为类似于格式'#,###,###.##',四舍五入到D为小数。如果D为0,结果将没有小数点和小数部分。 举例:1.代码如下: SELECT FORMAT(12324.2573,3);输出: 12,324.257 2.在有where条件时使用,代码如下: SELECT book_name,FORMAT(book_price,4) F...

MySQL数据库二进制日志备份和恢复步骤

MySQL数据库二进制日志备份和恢复步骤
在mysql中利用二进制日志备份与恢复数据库算是一种比较高级的数据库备份操作方法了,我们必须先在my.ini中打开mysql-bin功能,下面我来给大有介绍一下。 基本概念 定义:二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。 作用:1.二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新。 2.二进制日志还...

mysql 触发器update替代new用法详解

mysql 触发器update替代new用法详解
在mysql触发器中不可以直接使用update进行数据更新操作了,这个不是mysql bug而官方说可能使用了update会导致死循环了,推荐我们直接使用new赋值变量了. mysql下insert和update触发器是不能再使用update和insert操作的,官方说明是为了防止出现死循环,解决的办法就是直接对new里的字段赋值,其实也挺方便的,不过也说明mysql的技术有待加强,毕竟人家mssql能够实现的功能,到你这就出问题了,代码如下: DELIMIT...

mysql中利用mysqldump命令备份还原数据库

mysql中利用mysqldump命令备份还原数据库
mysqldump命令是mysql中一个非常不错的数据库操作命令,他可以对数据库进行备份与还原,同时几乎所有数据库命令备份都会用到它,下面我来介绍一下mysqldump一些用法。 一、常用操作: 备份整个数据库 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql mysqldump -h{hostname} -P{port} -u{username} -p{password} {databasename} > {backupfile.sql} 例如,代码如...

mysql中CONCAT值为空的问题解决办法

mysql中CONCAT值为空的问题解决办法
在mysql中concat函数有一个特点就是有一个值为null那么不管第二个字符有多少内容都返回为空了,这个特性让我们在实例应用中可能觉得不方便,但实现就是这样我们需要使用其它办法来解决. 在做opencart开发的时候,需要对用户表中用户的电话号码和区号连接起来,于是使用了concat方法,代码如下: SELECT CONCAT(isdcode,telephone) FROM gb_customer 竟然发现很多NULL列,telephone明明是有值的,于是查询了相关conc...

centos 6设置mysql不区分大小写

centos 6设置mysql不区分大小写
在linux系统中mysql区分大小写写的,如果你想让mysql不区分大小写的话我们可以在my.ini中修改lower_case_table_names即可. 今天公司服务器上,tomcat去读取mysql里的数据,居然无法读取成功,查看了下tomcat的日志,发现数据里有一句包含得有大小写的字母,为了解决这个问题,网上搜了一下,居然是要让mysql忽略大小写,但我们公司的mysql是做了主从的,为了不影响主从环境和mysql里的数据,我们提前给老大打了招呼,说...

mysql提示[Warning] Cant create test file xxx lower-test

mysql提示[Warning] Cant create test file xxx lower-test
在linux中碰到提示mysql提示[Warning] Cant create test file xxx lower-test了,下面有碰到此类问题的朋友一起来看看解决办法. 我想,你一定是从搜索引擎搜索这个标题进来的,你一定是想改变mysql默认安装的数据目录,你已经修改了my.cnf中的datadir的值,首先是查看数据库日志. mysqld started    [Warning] Can't create test file xxx.lower-test &n...

mysql导入存储过程报错问题解决方法

mysql导入存储过程报错问题解决方法
在mysql导入存储过程报错问题有很多种,今天我总结了两种报错提示与解决方法,希望此教程对各位朋友会有所帮助. 今天向mysql导入存储过程的时候报错,错误如下:you *might* want to use the less safe log_bin_trust_function_creators variable 处理这个问题,只需要进入mysql,在my.ini 里搜索[mysqld],直接在下边加一句话: log-bin-trust-function-creators=1 或直接使用如下代码:mysql> SET GLOBAL log_...

mysql导入存储过程无法使用

mysql导入存储过程无法使用
在mysql中用户对存储过程的权限有:ALTER ROUTINE 编辑或删除存储过程,CREATE ROUTINE 创建存储过程,EXECUTE运行存储过程权限,下面我来给大家介绍一个我碰到的问题. 存储过程的创建者拥有存储过程的ALTER、CREATE、EXECUTE权限,通过mysql导入的数据库,当里面有存储过程的时候,导入后存储过程是无法用程序使用了,找了很久原因,最后发现是权限问题. 1、我们要用查看数据库里面的存储过程,在mysql里面输入如下...

mysql The table‘xxxx’is full 设置临时表大小

mysql The table‘xxxx’is full 设置临时表大小
在mysql中临时表就出现xxx is full我们只要对my.ini中tmp_table_size与max_heap_table_size参数进行修改即可. tmp_table_size 如果内存内的临时表超过该值,MySQL自动将它转换为硬盘上的MyISAM表,如果你执行许多高级GROUP BY查询并且有大量内存,则可以增加tmp_table_size的值,max_heap_table_size 该变量设置MEMORY (HEAP)表可以增长到的最大空间大小. tmp_table_size 如果内存内的临时表超过该值,MySQL自动...

mysql自连接学习笔记

mysql自连接学习笔记
mysql自连接就是自己根据条件先查一些数据然后再返回的值再查一些数据了,这个就是mysql 自连接了,当然利用left join也是可以实现的,下面我们一起来看mysql 自连接用法. mysql的自联结的处理速度比子查询快了很多,所以自联结还是有必要学习的,普通的sql子查询语句,代码如下: SELECT `id`,`bic` FROM `biao` WHERE `id`=(SELECT `id` FROM `biao` WHERE `id`='9696e'); mysql的自联结sql语句,代码如下: SELEC...