Skip to main content

Several solutions for a few mysql errors


1062 Duplicate entry 'xxxx' for key xxxx.
The key is already in current mysql. In mysql slave server, try "STOP SLAVE;SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;START SLAVE;". You may also set slave_skip_errors = 1062 in my.cnf file to ignore all the 1062 errors.

1236  Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position'
The binlog position in master mysql server is not available. Some problem of master mysql server may cause this issue. You may want change the mysql replication position to next binary log file on the master mysql server(using "change master to ...").

126 Error 'Incorrect key file for table './db/xxx.MYI'; try to repair it' on query.
The error means that index file is crashed, and you may repair it by "repair table xxx". Or you want to change mysql storage to another hard disk since the error my be induced by an disk error.

I also found another solution in http://techpolesen.blogspot.com/2007/06/problems-with-file-upload-into-mysql-in.html . The space in /tmp is too small for mysql to store big intermediate results, so you may change(add) tmpdir settings in my.cnf to another location to solve the problem. However, you may encounter "Errcode 13" if you specify a location like /home/ubuntu/tmp for tmpdir. Make sure you give it 1777 permission(chmod 1777 /home/ubuntu/tmp) and enable r/w of the directory in /etc/apparmer.d/usr.sbin.mysqld by add "/home/ubuntu/tmp/** rw," with in {} of /usr/ubuntu/tmp.

Comments

Popular posts from this blog

A simple implementation of DTW(Dynamic Time Warping) in C#/python

DTW(Dynamic Time Warping) is a very useful tools for time series analysis. This is a very simple (but not very efficient) c# implementation of DTW, the source code is available at  https://gist.github.com/1966342  . Use the program as below: double[] x = {9,3,1,5,1,2,0,1,0,2,2,8,1,7,0,6,4,4,5}; double[] y = {1,0,5,5,0,1,0,1,0,3,3,2,8,1,0,6,4,4,5}; SimpleDTW dtw = new SimpleDTW(x,y); dtw.calculateDTW(); The python implementation is available at  https://gist.github.com/3265694  . from python-dtw import Dtw import math dtw = Dtw([1, 2, 3, 4, 6], [1, 2, 3, 5],           distance_func=lambda x, y: math.fabs(x - y)) print dtw.calculate() #calculate the distance print dtw.get_path() #calculate the mapping path

Change the default user when start a docker container

When run(start) a docker container from an image, we can specify the default user by passing -u option in command line(In https://docs.docker.com/engine/reference/run/#user ). For example docker run -i -t -u ubuntu ubuntu:latest /bin/bash We can also use the USER instruction in DOCKERFILE to do the same thing(In https://docs.docker.com/engine/reference/builder/#user), note that the option in command line will override the one in the DOCKERFILE. And there is actually another way to start a container with neither DOCKERFILE nor -u option, just by a command like: docker run -i -t ubuntu:latest /bin/bash # with ubuntu as the default user This happens when your start the container from an image committed by a container with ubuntu as the default user. Or in detail: Run a container from some basic images, create ubuntu user inside it, commit the container to CUSTOM_IMAGE:1 . Run a container from CUSTOM_IMAGE:1 with "-u ubuntu" option, and commit the container to CUSTOM...

Install mysql-python with mariadb

mysql-python requires libmysqlclient-dev in ubuntu, but the installation of mariadb will have the lib with unmet dependenccies, so the error of "mysql_config not found" may occurred if you install mysql-python via pip. The case is that mariadb has a compatible package, if you have the ppa setup as in  http://downloads.mariadb.org/ . Just "sudo apt-get install libmariadbclient-dev".