
mysql基础
文章平均质量分 57
persist-win
这个作者很懒,什么都没留下…
展开
-
mysql删除重复记录语句的方法
例如: id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c pp 7 c pp 8 c iii id是主键 要求得到这样的结果 id name value 1 a pp 3 b iii 4 b pp 6 c pp 8 c iii 方法1 delete YourTabl转载 2017-06-13 16:47:03 · 536 阅读 · 0 评论 -
MySQL免费性能监控工具-MONyog
一款不错的工具,我们服务器是windows2003。所以我本地安装了MONyog进行远程监控。只需要在服务器端安装SSH协议即可。(收费,有破解的) 1、登录配置界面 2、show processlist 查看当前使用的进程 3、警告建议你应该优化哪些参数。 4、介绍一下慢查询的配置,其它的可以自己配转载 2015-10-21 13:34:56 · 2400 阅读 · 0 评论 -
修改字符集
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2015-09-30 10:49:02 · 323 阅读 · 0 评论 -
编译mysql出现CMake Error at cmake/readline.cmake:83 (MESSAGE)
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)CMake Error at cmake/readline.cmake:83 (MESSAGE): Curses library not found. Please install appropriate package,转载 2015-09-29 12:48:01 · 7228 阅读 · 1 评论 -
mysql修改表、字段、库的字符集
修改数据库字符集:ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:ALTER TABLE tbl_name CONVERT TO CHARAC转载 2015-09-30 10:43:50 · 323 阅读 · 0 评论 -
Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.
一.问题描述 014-12-15 20:00:29 4398 [Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE on a table with m转载 2015-09-06 11:59:16 · 644 阅读 · 0 评论 -
超越MySQL:三个流行MySQL分支的对比
导读:尽管MySQL是最受欢迎的程序之一,但是许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都有自己的专长。该需求以及Oracle对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的子项目和分支。本文将讨论受人们关注的三个流行MySQL分支:Drizzle、MariaDB和Percona Server(包括XtraDB引擎)。文中简要介绍每个分支出现的原因及其目标,以及是否可在您自转载 2015-08-19 14:07:29 · 389 阅读 · 0 评论 -
mysql启用skip-name-resolve模式时出现Warning的处理办法
skip-name-resolve 参数的目的是不再进行反解析(ip不反解成域名),这样可以加快数据库的反应时间。修改配置文件添加并需要重启:[mysqld] skip-name-resolve添加后发现错误日志有警告信息131127 11:09:12 [Warning] 'user' entry 'root@cvs' ignored in --skip-nam转载 2015-08-27 11:04:02 · 4067 阅读 · 0 评论 -
mysqlhotcopy
mysqlhotcopy使用lock tables、flush tables和cp或scp来快速备份数据库.它是备份数据库或单个表最快的途径,完全属于物理备份,但只能用于备份MyISAM存储引擎和运行在数据库目录所在的机器上.与mysqldump备份不同,mysqldump属于逻辑备份,备份时是执行的sql语句.使用mysqlhotcopy命令前需要要安装相应的软件依赖包.安装包包括:原创 2015-06-04 10:47:46 · 1446 阅读 · 0 评论 -
mysqlhotcopy 热备工具体验与总结
今天有空尝试了一下MYSQLHOTCOPY这个快速热备MYISAM引擎的工具。(本文是针对单个服务器的情况,以后将会加入多服务器相关操作)他和MYSQLDUMP的比较:1、前者是一个快速文件意义上的COPY,后者是一个数据库端的SQL语句集合。2、前者只能运行在数据库目录所在的机器上,后者可以用在远程客户端。3、相同的地方都是在线执行LOCK TABLES 以及 UNLOCK转载 2015-06-03 17:17:19 · 417 阅读 · 0 评论 -
面对一个全新的环境,作为一个Mysql DBA,首先应该了解什么?
前段时间有高人写了一篇《面对一个全新的环境,作为一个Oracle DBA,首先应该了解什么》,本文借花献佛,总结了一些思路,如何面对一个全新的Mysql环境。1、先要了解当前的Mysql数据库的版本和平台以及字符集等相关信息mysql> status --------------mysql Ver 14.14 Distrib 5.1.34, for unknown-linux转载 2015-05-14 17:04:58 · 587 阅读 · 0 评论 -
IP address could not be resolved: Temporary failure in name resolution
这个警告不会影响数据库的访问 但是当有大量的这种日志产生的时候数据库之前的错误信息 就会很难去查询了。连接数越多,产生报警日志的频率越高。数据库的alert.log中,我们经常会出现下面的警告:IP address '172.16.12.195' could not be resolved: Temporary failure in name resolutionIP addr转载 2015-04-02 10:30:12 · 1292 阅读 · 0 评论 -
phpMyAdmin下载、安装和使用入门教程
对于PHP的逐渐流行,我们有目共睹:无论是BLOG程序中的WordPress,还是CMS程序中的DEDECMS,还是BBS程序中的Discuz!,都可谓经典。随着程序语言选择的不同,WEB应用所使用的数据库也发生了变化,转而向MySQL阵营学习。其中对于phpMyAdmin的学习则必不可少。phpMyAdmin(简称PMA)是一个用PHP编写的,可以通过互联网在线控制和操作MySQ转载 2013-10-19 09:58:07 · 2678 阅读 · 0 评论 -
innodb数据库 OPTIMIZE TABLE 提示Table does not support optimize, doing recreate + analyze instead
Table does not support optimize, doing recreate + analyze instead提要:1.MySQL官方建议不要经常(每小时或每天)进行碎片整理,一般根据实际情况,只需要每周或者每月整理一次即可。2.OPTIMIZE TABLE只对MyISAM,BDB和InnoDB表起作用,尤其是MyISAM表的作用最为明显。此外,并不是所有表都需转载 2015-04-10 11:18:59 · 7125 阅读 · 0 评论 -
mysqlbinlog 查看执行的sql (row模式)
当bin-log的模式设置为 row时不仅日志长得快 并且查看执行的sql时 也稍微麻烦一点:1.干扰语句多;2生成sql的编码需要解码。binlog_format=row 直接mysqlbinlog出来的 文件执行sql部分的sql显示为base64编码格式固生成sql记录的时候 不能用常规的办法去生成 需要加上相应的参数才能显示出sql语句转载 2015-04-03 09:54:50 · 710 阅读 · 0 评论 -
慢查询日志分析
慢查询日志一篇好文章,学习保存。。。。打开慢查询日志慢查询日志,顾名思义就是记录执行比较慢查询的日志。查看是否开启慢查询日志:show variables like '%slow%';打开慢查询日志。修改MySQL的配置文件my.cn一般是在/etc目录下面,加上下面三行配置后重启MySQL。slow_query_log = ON转载 2015-10-21 10:12:59 · 444 阅读 · 0 评论 -
mysqldumpslow使用说明总结
mysqldumpslow使用说明mysqldumpslow --helpUsage: mysqldumpslow [ OPTS... ] [ LOGS... ]Parse and summarize the MySQL slow query log. Options are --verbose verbose --debug debug --转载 2015-10-21 11:25:30 · 667 阅读 · 0 评论 -
淘宝MySQL地址
http://mysql.taobao.org原创 2017-07-12 15:15:50 · 1767 阅读 · 0 评论 -
MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法
MySQL开启bin-log后,调用存储过程或者函数以及触发器时,会出现错误号为1418的错误:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,or READS SQL DATA in its declaration and binary logging is enabled(you *might* wan转载 2016-11-30 14:26:00 · 548 阅读 · 0 评论 -
mysql中kill掉所有锁表的进程
很多时候由于异常或程序错误会导致个别进程占用大量系统资源,需要结束这些进程,通常可以使用以下命令Kill进程:mysql中kill掉所有锁表的进程3点钟刚睡下, 4点多, 同事打电话告诉我用户数据库挂掉了. 我起床看一下进程列表.mysql>show processlist;出来哗啦啦好几屏幕的, 没有一千也有几百条, 查询语句把表锁转载 2016-11-17 14:31:46 · 779 阅读 · 0 评论 -
mysql 5.6 中 explicit_defaults_for_timestamp参数
一:官方文档中关于explicit_defaults_for_timestamp参数说明如下: explicit_defaults_for_timestampIntroduced5.6.6Deprecated5.6.6Command-Line Format--expl转载 2016-11-10 17:52:38 · 798 阅读 · 0 评论 -
MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'的问题
问题描述: 从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.85'(111)错误。 [mysql@vvmvcs0 ~]$ mysql -hxxx.xxx.xxx.85 -uroot -pEnter password: www.2转载 2016-11-09 15:32:36 · 2001 阅读 · 0 评论 -
mysql的root用户没有grant权限
查询mysql的用户权限 show grants for root show grants for root@localhost 发现root用户没有with grant option权限,也就是说其不能给其他用户赋予权限 咨询朋友,建议我重新初始化mysql,真心不想这么做。 没办法,去瞅user表吧,这次终于转载 2016-11-09 15:03:05 · 13589 阅读 · 2 评论 -
mysqldump的实现原理
对于MySQL的备份,可分为以下两种:1. 冷备2. 热备其中,冷备,顾名思义,就是将数据库关掉,利用操作系统命令拷贝数据库相关文件。而热备指的是在线热备,即在不关闭数据库的情况下,对数据库进行备份。实际生产中基本上都是后者。关于热备,也可分为两种方式:1. 逻辑备份2. 物理备份对于前者,常用的工具是MySQL自带的mysqldump,对于转载 2016-11-04 09:48:01 · 2169 阅读 · 0 评论 -
Mysql 查看连接数,状态
命令: show processlist; 如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。 show processlist;只列出前100条,如果想全列出请使用show full processlist; mysql> show processlist; 命令: show status;命令:show stat转载 2016-03-24 10:21:28 · 313 阅读 · 0 评论 -
MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
MySQL的ALTER TABLE操作常令DBA闻而变色,即使有Percona的OSC保驾护航,依然不堪轻易出手,但不是所有的ALTER TABLE都会引起表重建,从而需要花费数个小时甚至数天才能完成,本文对这3者作出简单区别,希望在万不得已时能是最后的一根稻草。ALTER COLUMN语法:ALTER [COLUMN] col_name {SET DEFA转载 2016-01-05 16:29:15 · 777 阅读 · 0 评论 -
用mysql实现类似于oracle dblink的功能
用mysql实现类似于oracle dblink的功能 首先看看有没有federated 引擎。 mysql> show engines; +------------+----------+----------------------------------------------------------------+ | Engine | Support | Comme转载 2016-01-05 15:30:30 · 11148 阅读 · 0 评论 -
linux安装mysql出现Could NOT find Curses (missing CURSES_LIBRARY CURSES_INCLUDE_PATH),提示解决方法
进入mysql目录[root@localhost software]# cd mysql-5.6.19[root@localhost mysql-5.5.11]# cmake .出现以下错误提示:-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)CMake Error at转载 2015-11-10 16:12:51 · 1937 阅读 · 0 评论 -
WARNING: The host 'localhost' could not be looked up with /usr/local/mysql//bin/resolveip
[root@mysqlserver8 mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_data --explicit_defaults_for_timestamp WARNING: The host 'localhost' could n原创 2015-11-10 17:40:36 · 5828 阅读 · 1 评论 -
mysql show processlist命令 详解
processlist 命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令。1. 进入 mysql/bin 目录下输入 mysqladmin processlist;2. 启动 mysql ,输入 show processlist;如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当转载 2015-10-21 17:34:15 · 387 阅读 · 0 评论 -
show engine innodb status 详解
很多人让我来阐述一下 SHOW INNODB STATUS 的输出信息, 了解 SHOW INNODB STATUS 都输出了些什么信息,并且我们能从这些信息中获取什么资讯,得以提高 MySQL 性能。首先,让我们来了解一下 SHOW INNODB STATUS 输出的基础,它打印了很多关于 InnoDB 内部性能相关的计数器、统计、事务处理信息等。在 MySQL 5 中,InnoDB 的转载 2015-10-21 17:46:32 · 973 阅读 · 0 评论 -
mysql的常用出错代码
1000: ER_HASHCHK1001: ER_NISAMCHK1002: ER_NO1003: ER_YES1004: 无法创建文件1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删除数据目录导致删除数据库失败转载 2015-04-03 09:38:48 · 467 阅读 · 0 评论 -
MySQL数据库Drop Down后的紧急处置
前言今天早上9点,我按照惯例,打开游戏服务器,开新服部署嘛,游戏在腾讯开放平台,简单。闭着眼睛都OK。于是一轮子的复制黏贴拷贝,把服务器加起来,然后启动查看日志。。。。。突然发现不断的有Exception?搞什么?丢失表Usr_user??刚才不是导了数据库吗?不存在?怎么会?我瞬间意识到。我摊上事了,我摊上大事了。。检查刚才的复制黏贴,发现我没改数据库名,这一下子把第二个服的数据库整转载 2015-04-03 11:07:36 · 588 阅读 · 0 评论 -
mysql中char,varchar,text区别
char: char最大长度是255字符,注意是字符数和字符集没关系。可以有默认值,尾部有空格会被截断。varchar: varchar的最大长度65535是指能存储的字节数,其实最多只能存储65532个字节,还有3个字节用于存储长度。注意是字节数这个和字符集有关系。一个汉字字符用utf8占用3字节,用gbk占用2字节。可以有默认值,尾部有空格不会截断。text转载 2015-04-03 10:35:40 · 432 阅读 · 0 评论 -
登陆mysql后,如何查看当前用户
登陆mysql后,如何查看当前用户呢方法有二,如下: 1. 用函数user() mysql> select user();+----------------+| user() |+----------------+| wang@localhost |+----------------+1 row in set (0.00 sec)原创 2013-10-29 16:43:22 · 4713 阅读 · 0 评论 -
ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
我的MySQL版本为5.6.14版本,是二进制包安装的(虽然是二进制包安装的,但是以下问题同样适用于源码安装包安装的MySQL)今天在我的测试库上添加一个新用户,报错: [mysql@ydrh2 ~]$mysql -uroot -p123456Warning: Using a password on the command line interface can be insec原创 2013-10-29 17:31:25 · 2391 阅读 · 0 评论 -
登陆mysql后,如何查看当前数据库
当使用某个用户登陆mysql后,如何查看当前的数据库呢方法有三,分别如下:1. 使用函数database()mysql> select database();+------------+| database() |+------------+| example |+------------+1 row in set (0.00 sec)2. 使用s原创 2013-10-29 15:42:06 · 1239 阅读 · 0 评论 -
MySQL修改默认存储引擎
mysql存储引擎:MySQL服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上。存储引擎负责管理数据存储,以及MySQL的索引管理。通过定义的API,MySQL服务器能够与存储引擎进行通信。目前使用最多的是MyISAM和InnoDB。InnoDB被Oracle收购后,MySQL自行开发的新存储引擎Falcon将在MySQL6.0版本引进。MyISAM引擎是一种非事务性的转载 2013-10-29 09:41:12 · 761 阅读 · 0 评论 -
mysqld_safe 启动执行流程
mysqld_safe脚本执行的基本流程:1、查找basedir和ledir。2、查找datadir和my.cnf。3、对my.cnf做一些检查,具体检查哪些选项请看附件中的注释。4、解析my.cnf中的组[mysqld]和[mysqld_safe]并和终端里输入的命令合并。5、调用parse_arguments函数解析用户传递的所有参数($@)。6、对系统日志和错误日转载 2013-10-29 11:22:00 · 1150 阅读 · 0 评论 -
Mysql 启动区别
我们知道mysql.server,mysqld_safe和mysqld都是可以用来启动mysql服务的,但他们之间是有些区别的Note:Mysql.server指的是 /etc/init.d/mysql 这三个命令中,其中mysql.server和mysqld_safe 是shell 脚本写的,我们可以打开来查看里面的内容。 打开mysql.server 脚本,大致看了一下,这转载 2013-10-29 10:22:18 · 1255 阅读 · 0 评论