목차
锁表后的解锁
mysql连接数不够" >mysql连接数不够
mysql的root密码修改" >mysql的root密码修改
密码正确却登录不进" >密码正确却登录不进
datetime类型有.0问题" >datetime类型有.0问题
查看表占用空间" >查看表占用空间
데이터 베이스 MySQL 튜토리얼 mysql的死锁等6个实战问题解决_MySQL

mysql的死锁等6个实战问题解决_MySQL

Jun 01, 2016 pm 12:58 PM
실제 전투 이중 자물쇠 질문

mysql的死锁等6个实战问题解决

目录:

锁表后的解锁 mysql连接数不够 mysql的root密码修改 密码正确却登录不进 datetime类型有0问题 查看表占用空间

锁表后的解锁

当对表做dml操作时卡住,很可能是表被锁。
到数据库主机,查看进程命令:
show processlist;
找到有锁的进程id,杀掉:
kill id;

processlist是全部的进程,比较多,有时候,从processlist里能看到哪个锁住,但有时候它和其他进程看上去一样。
这时需要查看数据表:

<code class="language-sql hljs ">SELECT * FROM information_schema.INNODB_TRX;
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;</code>
로그인 후 복사

看trx_mysql_thread_id字段,这个是死锁的进程id,然后到主机那里kill掉即可。

经验提示:最好不要用客户端界面修改表结构,有可能会锁住。最好使用语句。(不过,其实我也经常贪图方便,直接用SQLyog直接修改表结构,方便嘛。偶尔锁住了kill掉即可,毕竟只是开发环境,生产环境必须不能如此)<br /> 增加字段:ALTER TABLE tf_b_depart ADD (PARENT_MAJOR VARCHAR(6));<br /> 修改字段:alter table tf_f_task_target modify VALUE decimal(16,2);<br /> 建表:CREATE TABLE td_s_salary_index (index_id VARCHAR(8));

mysql连接数不够

陆续开发人员的eclipse里突然报错信息:

MySQLNonTransientConnectionException<br /> Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: &ldquo;Too many connections&rdquo;<br /> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

原因:max_connections mysql 默认值为100,超过了就会报错。重启mysql即可。为了防止后面再出现,需要把max_connections改为1000或更多。

<code class="language-sql hljs "><code class="hljs makefile">[mysql@paas03 ~]$more my.cnf
[mysqld_multi]
mysqld = /app/mysql/bin/mysqld_safe
mysqladmin = /app/mysql/bin/mysqladmin
user = mysql
password = a@Aug22
log=/app/log/mysqld_multi.log

[mysqld01]
port = 3010
socket = /tmp/mysql.sock01
pid-file = /app/data_paas/db-app.pid
basedir = /app/mysql
datadir = /app/data_paas
user = mysql
symbolic-links=0
character-set-server=utf8
lower_case_table_names=1
innodb_log_file_size=128M
innodb_log_buffer_size=4M
innodb_buffer_pool_size=1G
event_scheduler=1
explicit_defaults_for_timestamp
max_connections=1500
join_buffer_size = 128M
sort_buffer_size = 10M
read_rnd_buffer_size = 2M</code></code>
로그인 후 복사

<code class="hljs makefile">参考:http://www.cnblogs.com/S-E-P/archive/2011/04/29/2045050.html

<code class="hljs makefile">mysql的root密码修改

<code class="language-sql hljs "><code class="hljs makefile"><code class="language-sql hljs ">SELECT * FROM mysql.user WHERE USER=&#39;root&#39;;
SET PASSWORD FOR &#39;root&#39;@&#39;localhost&#39; = PASSWORD(&#39;root123&#39;);
SET PASSWORD FOR &#39;root&#39;@&#39;paas03&#39; = PASSWORD(&#39;root123&#39;);
SET PASSWORD FOR &#39;root&#39;@&#39;%&#39; = PASSWORD(&#39;root123&#39;);</code></code></code>
로그인 후 복사

<code class="hljs makefile"><code class="language-sql hljs ">注:亲测OK。

<code class="hljs makefile"><code class="language-sql hljs ">密码正确却登录不进

<code class="hljs makefile"><code class="language-sql hljs ">Caused by: java.sql.SQLException: Access denied for user &lsquo;zplat_cen1&rsquo;@&rsquo;aifs1&rsquo; (using password: YES)

<code class="hljs makefile"><code class="language-sql hljs ">其他机器可以登录,就是安装了这个数据库的本机不能登录。然后发现不需要密码就可以登录了(去掉-p),但是只有test库。<br /> http://www.bitsCN.com/article/19326.htm这里里面说的delete from user where user is NULL;是扯淡的。<br /> 真正的原因是dba没创建本主机的用户,mysql和oracle不太一样,同一个用户,需要在三台机器分别创建,包括localhost、本主机名、%(表示通配符)。应该CREATE USER &#39;zplat_cen1&#39;@&#39;aifs1&#39; IDENTIFIED BY &#39;XXX&#39;;就可以了。

<code class="hljs makefile"><code class="language-sql hljs ">datetime类型有.0问题

<code class="hljs makefile"><code class="language-sql hljs ">mysql datetime类型,后面会有.0<br /> 2015-07-21 16:37:47.0<br /> 有两种解决方法:<br /> 1. 写sql时增加DATE_FORMAT(RECEIVE_TIME, &#39;%Y-%m-%d %H:%i:%s&#39;),这个非常麻烦,每个sql都得加<br /> 2. 修改你公司的框架代码,统一处理一下

<code class="language-sql hljs "><code class="hljs makefile"><code class="language-sql hljs "><code class="language-java hljs ">if (type == Types.TIMESTAMP) { // 增加对时间类型的支持,修复mysql显示.0问题 2015.7.21
    Timestamp t = rs.getTimestamp(name);
    if (t == null)
        return null;
    SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String date = sDateFormat.format(t);
    return date;
}</code></code></code></code>
로그인 후 복사

<code class="hljs makefile"><code class="language-sql hljs "><code class="language-java hljs ">参考:http://blog.csdn.net/zhanghaotian2011/article/details/7721551

<code class="hljs makefile"><code class="language-sql hljs "><code class="language-java hljs ">同样的decimal类型也有这个问题,前台显示全部加.00

<code class="language-sql hljs "><code class="hljs makefile"><code class="language-sql hljs "><code class="language-java hljs "><code class="language-java hljs ">if (type == Types.DECIMAL) { // 增加对decimal类型的支持,修复mysql显示.00问题 2015.7.22
    String decimal = rs.getString(name);
    if (decimal == null)
        return null;
    if(decimal.indexOf(".") > 0){  
        decimal = decimal.replaceAll("0+?$", "");//去掉多余的0
        decimal = decimal.replaceAll("[.]$", "");//如最后一位是.则去掉
    }
    return decimal;
}</code></code></code></code></code>
로그인 후 복사

<code class="hljs makefile"><code class="language-sql hljs "><code class="language-java hljs "><code class="language-java hljs ">PS:学好正则表达式是多么的重要!否则去0的这个代码你怎么??

<code class="hljs makefile"><code class="language-sql hljs "><code class="language-java hljs "><code class="language-java hljs ">查看表占用空间

<code class="language-sql hljs "><code class="hljs makefile"><code class="language-sql hljs "><code class="language-java hljs "><code class="language-java hljs "><code class="language-sql hljs ">SELECT table_name,data_length/1024/1024 MB FROM  information_schema.tables 
WHERE table_schema=&#39;zplatdb&#39; ORDER BY data_length DESC;</code></code></code></code></code></code>
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 실용: 피보나치 수열을 빠르게 구현하는 코드 예제 PHP 실용: 피보나치 수열을 빠르게 구현하는 코드 예제 Mar 20, 2024 pm 02:24 PM

PHP 연습: 피보나치 수열을 빠르게 구현하기 위한 코드 예제 피보나치 수열은 수학에서 매우 흥미롭고 일반적인 수열로 다음과 같이 정의됩니다. 첫 번째와 두 번째 숫자는 0과 1이고, 세 번째부터 숫자로 시작하여 각 숫자가 나옵니다. 이전 두 숫자의 합입니다. 피보나치 수열의 처음 몇 숫자는 0,1,1.2,3,5,8,13,21 등입니다. PHP에서는 재귀와 반복을 통해 피보나치 수열을 생성할 수 있습니다. 아래에서는 이 두 가지를 보여드리겠습니다.

jQuery가 양식 요소 값을 얻을 수 없는 문제를 해결하는 방법 jQuery가 양식 요소 값을 얻을 수 없는 문제를 해결하는 방법 Feb 19, 2024 pm 02:01 PM

jQuery.val()을 사용할 수 없는 문제를 해결하려면 구체적인 코드 예제가 필요합니다. 프론트 엔드 개발자에게는 jQuery를 사용하는 것이 일반적인 작업 중 하나입니다. 그중에서도 .val() 메서드를 사용하여 양식 요소의 값을 가져오거나 설정하는 것은 매우 일반적인 작업입니다. 그러나 특정한 경우에는 .val() 메서드를 사용하지 못하는 문제가 발생할 수 있습니다. 이 문서에서는 몇 가지 일반적인 상황과 해결 방법을 소개하고 구체적인 코드 예제를 제공합니다. 문제 설명 jQuery를 사용하여 프런트 엔드 페이지를 개발할 때 때때로 다음과 같은 문제가 발생할 수 있습니다.

일반적인 iPhone 문제를 진단하는 방법을 가르쳐주세요. 일반적인 iPhone 문제를 진단하는 방법을 가르쳐주세요. Dec 03, 2023 am 08:15 AM

강력한 성능과 다재다능한 기능으로 잘 알려진 iPhone은 복잡한 전자 장치에서 흔히 발생하는 문제인 가끔씩 발생하는 문제나 기술적인 어려움으로부터 자유롭지 않습니다. iPhone 문제를 경험하면 실망스러울 수 있지만 일반적으로 알람은 필요하지 않습니다. 이 종합 가이드에서는 iPhone 사용과 관련하여 가장 일반적으로 직면하는 문제 중 일부를 쉽게 설명하는 것을 목표로 합니다. 당사의 단계별 접근 방식은 이러한 일반적인 문제를 해결하는 데 도움을 주고 장비를 최상의 작동 순서로 되돌릴 수 있는 실용적인 솔루션과 문제 해결 팁을 제공하도록 설계되었습니다. 결함이 있거나 더 복잡한 문제에 직면하더라도 이 문서는 문제를 효과적으로 해결하는 데 도움이 될 수 있습니다. 일반적인 문제 해결 팁 특정 문제 해결 단계를 진행하기 전에 다음은 몇 가지 유용한 정보입니다.

클러스터링 알고리즘의 클러스터링 효과 평가 문제 클러스터링 알고리즘의 클러스터링 효과 평가 문제 Oct 10, 2023 pm 01:12 PM

클러스터링 알고리즘에서 클러스터링 효과 평가 문제에는 특정 코드 예제가 필요합니다. 클러스터링은 데이터를 클러스터링하여 유사한 샘플을 하나의 범주로 그룹화하는 비지도 학습 방법입니다. 클러스터링 알고리즘에서는 클러스터링의 효과를 어떻게 평가하는가가 중요한 문제입니다. 이 기사에서는 일반적으로 사용되는 몇 가지 클러스터링 효과 평가 지표를 소개하고 해당 코드 예제를 제공합니다. 1. 클러스터링 효과 평가 지수 실루엣 계수 실루엣 계수는 표본의 근접성 및 다른 클러스터와의 분리 정도를 계산하여 클러스터링 효과를 평가합니다.

Golang 실전: 데이터 내보내기 기능 구현 팁 공유 Golang 실전: 데이터 내보내기 기능 구현 팁 공유 Feb 29, 2024 am 09:00 AM

데이터 내보내기 기능은 실제 개발, 특히 백엔드 관리 시스템이나 데이터 보고서 내보내기와 같은 시나리오에서 매우 일반적인 요구 사항입니다. 이 기사에서는 Golang 언어를 예로 들어 데이터 내보내기 기능의 구현 기술을 공유하고 구체적인 코드 예제를 제공합니다. 1. 환경 준비 시작하기 전에 Golang 환경이 설치되어 있는지 확인하고 Golang의 기본 구문 및 작업에 익숙해야 합니다. 또한 데이터 내보내기 기능을 구현하려면 github.com/360EntSec와 같은 타사 라이브러리를 사용해야 할 수도 있습니다.

Rulong 8 Wine Master 시험의 문제는 무엇입니까? Rulong 8 Wine Master 시험의 문제는 무엇입니까? Feb 02, 2024 am 10:18 AM

Yulong 8 Wine Master 시험과 관련된 질문은 무엇입니까? 이에 해당하는 대답은 무엇입니까? 시험에 빨리 합격하는 방법은 무엇입니까? Master of Wine 시험 활동에는 답변해야 할 질문이 많이 있으며, 답변을 참조하여 문제를 해결할 수 있습니다. 이 질문들은 모두 와인에 대한 지식과 관련이 있습니다. 참고가 필요하다면 Yakuza 8 Wine Master 시험 문제에 대한 답변의 자세한 분석을 살펴 보겠습니다! Rulong 8 Wine Master 시험 문제에 대한 자세한 설명 1. "와인"에 관한 질문. 하와이 왕족이 설립한 증류소에서 생산되는 증류주로, 하와이에서 대량으로 재배되는 사탕수수의 설탕을 원료로 만들어집니다. 이 와인의 이름은 무엇입니까? 답: 럼 2. "와인"에 관한 질문입니다. 사진은 건조 인삼과 건조 버무스로 만든 음료를 보여줍니다. 올리브를 첨가한 것이 특징이며 "코크니"로 알려져 있습니다.

사운드 카드 드라이버에 문제가 있으면 어떻게 되나요? 사운드 카드 드라이버에 문제가 있으면 어떻게 되나요? Mar 02, 2024 am 10:49 AM

사운드 카드 드라이버는 사운드 카드를 제어하고 지시하는 컴퓨터의 시스템 프로그램으로 사운드 재생에 도움을 줄 수 있습니다. 따라서 사운드 카드 드라이버에 문제가 있는 경우 가장 직관적인 상황은 사운드 측면에서 소리가 나지 않거나 소리가 불규칙하게 진동하고 비정상적으로 정지됩니다. 사운드 카드 드라이버에 문제가 있는 경우 어떻게 됩니까? 1. 사운드 오류 1. 사운드 카드 드라이버가 사운드를 제공하므로 가장 직관적인 문제는 사운드 문제입니다. 2. 컴퓨터에서 소리가 나지 않거나, 소리가 멈추거나, 지연되거나, 시끄럽거나, 볼륨 톤이 비정상적인 경우, 사운드 카드 드라이버와 관련된 것일 수 있습니다. 3. 비슷한 문제가 발생하면 사운드 카드 드라이버를 다시 설치하거나 업데이트해 볼 수 있습니다. 2. 장치 관리자의 느낌표 1. 소리에 문제가 없다면 대부분 사운드 카드 드라이버가 정상이라는 뜻입니다. 2. 하지만 나는

golang 함수 동시성 제어에서 교착 상태 및 기아 현상 예방 및 해결 golang 함수 동시성 제어에서 교착 상태 및 기아 현상 예방 및 해결 Apr 24, 2024 pm 01:42 PM

Go의 교착 상태 및 기아 상태: 교착 상태 방지 및 해결: 코루틴이 서로를 기다리고 있으며 작업을 수행할 수 없습니다. 감지하려면 Runtime.SetBlockProfileRate 함수를 사용하세요. 교착 상태 방지: 세분화된 잠금, 시간 제한 및 잠금 없는 데이터 구조를 사용하여 교착 상태를 방지합니다. 기아(Starvation): 코루틴은 계속해서 리소스를 얻을 수 없으며, 기아를 방지하기 위해 공정한 잠금이 사용됩니다. 공정한 잠금 연습: 공정한 잠금을 생성하고 코루틴이 가장 오랫동안 잠금을 획득하려고 시도하여 잠금을 먼저 획득할 때까지 기다립니다.

See all articles