mysql的死锁等6个实战问题解决_MySQL
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: “Too many connections”<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='root'; SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root123'); SET PASSWORD FOR 'root'@'paas03' = PASSWORD('root123'); SET PASSWORD FOR 'root'@'%' = PASSWORD('root123');</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 ‘zplat_cen1’@’aifs1’ (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 'zplat_cen1'@'aifs1' IDENTIFIED BY 'XXX';就可以了。
<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, '%Y-%m-%d %H:%i:%s'),这个非常麻烦,每个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='zplatdb' ORDER BY data_length DESC;</code></code></code></code></code></code>

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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

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

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.

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

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 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 ».

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.

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
