Table des matières
锁表后的解锁
mysql连接数不够" >mysql连接数不够
mysql的root密码修改" >mysql的root密码修改
密码正确却登录不进" >密码正确却登录不进
datetime类型有.0问题" >datetime类型有.0问题
查看表占用空间" >查看表占用空间
Maison base de données tutoriel 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>
Copier après la connexion

看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>
Copier après la connexion

<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>
Copier après la connexion

<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>
Copier après la connexion

<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>
Copier après la connexion

<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>
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD
Musée à deux points: toutes les expositions et où les trouver
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP pratique : exemple de code pour implémenter rapidement la séquence de Fibonacci PHP pratique : exemple de code pour implémenter rapidement la séquence de Fibonacci Mar 20, 2024 pm 02:24 PM

Pratique PHP : Exemple de code pour implémenter rapidement la séquence de Fibonacci La séquence de Fibonacci est une séquence très intéressante et courante en mathématiques. Elle est définie comme suit : le premier et le deuxième nombres sont 0 et 1, et à partir du troisième, en commençant par les nombres, chaque nombre. est la somme des deux nombres précédents. Les premiers nombres de la séquence de Fibonacci sont 0,1,1,2,3,5,8,13,21,... et ainsi de suite. En PHP, nous pouvons générer la séquence de Fibonacci par récursion et itération. Ci-dessous, nous montrerons ces deux

Comment résoudre le problème selon lequel jQuery ne peut pas obtenir la valeur de l'élément de formulaire Comment résoudre le problème selon lequel jQuery ne peut pas obtenir la valeur de l'élément de formulaire Feb 19, 2024 pm 02:01 PM

Pour résoudre le problème selon lequel jQuery.val() ne peut pas être utilisé, des exemples de code spécifiques sont requis. Pour les développeurs front-end, l'utilisation de jQuery est l'une des opérations courantes. Parmi eux, utiliser la méthode .val() pour obtenir ou définir la valeur d'un élément de formulaire est une opération très courante. Cependant, dans certains cas précis, le problème de ne pas pouvoir utiliser la méthode .val() peut se poser. Cet article présentera quelques situations et solutions courantes, et fournira des exemples de code spécifiques. Description du problème Lorsque vous utilisez jQuery pour développer des pages frontales, vous rencontrerez parfois

Problèmes d'évaluation de l'effet de clustering dans les algorithmes de clustering Problèmes d'évaluation de l'effet de clustering dans les algorithmes de clustering Oct 10, 2023 pm 01:12 PM

Le problème d'évaluation de l'effet de clustering dans l'algorithme de clustering nécessite des exemples de code spécifiques. Le clustering est une méthode d'apprentissage non supervisée qui regroupe des échantillons similaires dans une seule catégorie en regroupant les données. Dans les algorithmes de clustering, la manière d’évaluer l’effet du clustering est une question importante. Cet article présentera plusieurs indicateurs d'évaluation de l'effet de clustering couramment utilisés et donnera des exemples de code correspondants. 1. Indice d'évaluation de l'effet de clustering Coefficient Silhouette Le coefficient Silhouette évalue l'effet de clustering en calculant la proximité de l'échantillon et le degré de séparation des autres clusters.

Apprenez à diagnostiquer les problèmes courants de l'iPhone Apprenez à diagnostiquer les problèmes courants de l'iPhone Dec 03, 2023 am 08:15 AM

Connu pour ses performances puissantes et ses fonctionnalités polyvalentes, l’iPhone n’est pas à l’abri de contretemps ou de difficultés techniques occasionnelles, un trait commun aux appareils électroniques complexes. Rencontrer des problèmes avec votre iPhone peut être frustrant, mais aucune alarme n'est généralement nécessaire. Dans ce guide complet, nous visons à démystifier certains des défis les plus fréquemment rencontrés associés à l’utilisation de l’iPhone. Notre approche étape par étape est conçue pour vous aider à résoudre ces problèmes courants, en vous proposant des solutions pratiques et des conseils de dépannage pour remettre votre équipement en parfait état de fonctionnement. Que vous soyez confronté à un problème ou à un problème plus complexe, cet article peut vous aider à les résoudre efficacement. Conseils de dépannage généraux Avant de passer aux étapes de dépannage spécifiques, voici quelques conseils utiles

Golang Practical Combat : partage de conseils de mise en œuvre pour la fonction d'exportation de données Golang Practical Combat : partage de conseils de mise en œuvre pour la fonction d'exportation de données Feb 29, 2024 am 09:00 AM

La fonction d'exportation de données est une exigence très courante dans le développement réel, en particulier dans des scénarios tels que les systèmes de gestion back-end ou l'exportation de rapports de données. Cet article prendra le langage Golang comme exemple pour partager les compétences d'implémentation de la fonction d'exportation de données et donnera des exemples de code spécifiques. 1. Préparation de l'environnement Avant de commencer, assurez-vous d'avoir installé l'environnement Golang et de connaître la syntaxe et les opérations de base de Golang. De plus, afin d'implémenter la fonction d'exportation de données, vous devrez peut-être utiliser une bibliothèque tierce, telle que github.com/360EntSec.

Quelles sont les questions de l'examen Rulong 8 Wine Master ? Quelles sont les questions de l'examen Rulong 8 Wine Master ? Feb 02, 2024 am 10:18 AM

Quelles sont les questions impliquées dans l’examen Yulong 8 Wine Master ? Quelle est la réponse correspondante ? Comment réussir l’examen rapidement ? De nombreuses questions doivent trouver une réponse dans les activités de l'examen Master of Wine, et nous pouvons nous référer aux réponses pour les résoudre. Ces questions impliquent toutes la connaissance du vin. Si vous avez besoin d’une référence, jetons un œil à l’analyse détaillée des réponses aux questions de l’examen Yakuza 8 Wine Master ! Explication détaillée des réponses aux questions de l'examen Rulong 8 Wine Master 1. Questions sur le « vin ». Il s'agit d'une liqueur distillée produite par une distillerie créée par la famille royale. Elle est brassée à partir du sucre de canne à sucre cultivé en grande quantité à Hawaï. Quel est le nom de ce vin ? Réponse : Rhum 2. Question sur le « vin ». La photo montre une boisson à base de ginseng sec et de vermouth sec. Il se caractérise par l'ajout d'olives et est connu sous le nom de « cockney ».

Prévention et solution des blocages et de la famine dans le contrôle de concurrence des fonctions Golang Prévention et solution des blocages et de la famine dans le contrôle de concurrence des fonctions Golang Apr 24, 2024 pm 01:42 PM

Blocage et famine dans Go : prévenir et résoudre les blocages : les coroutines s'attendent les unes les autres et ne peuvent pas effectuer d'opérations. Utilisez la fonction runtime.SetBlockProfileRate pour détecter. Prévenir les blocages : utilisez un verrouillage précis, des délais d'attente et des structures de données sans verrouillage pour éviter les blocages. Famine : la coroutine continue d'être incapable d'obtenir des ressources et des verrous équitables sont utilisés pour éviter la famine. Pratique de verrouillage équitable : créez un verrou équitable et attendez que la coroutine tente d'acquérir le verrou le plus longtemps possible pour acquérir le verrou en premier.

Que se passe-t-il en cas de problème avec le pilote de la carte son ? Que se passe-t-il en cas de problème avec le pilote de la carte son ? Mar 02, 2024 am 10:49 AM

Le pilote de la carte son est un programme système de l'ordinateur qui contrôle et dirige la carte son. Par conséquent, s'il y a un problème avec le pilote de la carte son, la situation la plus intuitive est celle en termes de son, il n'y aura pas de son ou le son fluctuera et se figera anormalement. Que se passera-t-il s'il y a un problème avec le pilote de la carte son : 1. Erreur sonore 1. Le pilote de la carte son fournit le son, le problème le plus intuitif est donc le problème du son. 2. Qu'il n'y ait aucun son provenant de l'ordinateur, que le son soit bloqué, retardé, bruyant ou que la tonalité du volume soit anormale, cela peut être lié au pilote de la carte son. 3. Ainsi, lorsque nous rencontrons des problèmes similaires, nous pouvons essayer de réinstaller ou de mettre à jour le pilote de la carte son. 2. Point d'exclamation dans le Gestionnaire de périphériques 1. S'il n'y a pas de problème avec le son, cela signifie que le pilote de la carte son est normal dans la plupart des cas. 2. Mais je

See all articles