一:mysql忘记密码:
killall -TERM mysqld
mysqld_safe --user=root --skip-grant-tables
mysql -u root
use mysql
update user set password=password("new_pass") where user="root";
flush privileges;
二、ERROR 2002 (HY000): Can't connect to local MySQL server through socket'/tmp/mysql.sock' (111)
1、[root@localhost ~]# find /-name mysql.sock
/var/lib/mysql/mysql.sock
创建符号连接:
ln -s/var/lib/mysql/mysql.sock /tmp/mysql.sock
2、vi /etc/my.conf
检查下行内容是否存在:
[client]
socket=/tmp/mysql.sock
三、mysql找不到mysql.sock或文件为空,查看日志如下:
[ERROR] Can't start server: Bind on TCP/IP port:Cannot assign requested address
[ERROR] Do you already have another mysqld server running on port: 3306 ?
[ERROR] Aborting
提示是端口可能被占用,于是执行:
greatmoo:~# netstat -anp |grep "3306"
vi /etc/my.cnf,把port改成3307:
greatmoo:~# vi/etc/mysql/my.cnf
[client]
port = 3307
# …
[mysqld]
port = 3307
# …
准备保存后启动mysql,再启动 mysql 就成功了
四、ERROR 1045 (28000): Access denied for user ’root’@’localhost’ (usingpassword: NO)
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) whereUSER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) whereUSER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法三:
这种方法我没有进行过测试,因为我的root用户默认密码已经被我修改过了,那位有空测试一下,把结果告诉我,谢谢!
# mysql -uroot -p
Enter password: <输入/etc/mysql/debian.cnf文件中[client]节提供的密码>
最后注意:别忘了关闭防火墙,免得外网无法访问该主机的数据库端口。
五、启动报错:File './mysql-bin.index'not found (Errcode: 13)
1、errcode13,一般就是权限问题,mysql用户是否对数据库目录内的所有文件具有写的权限,查看一下权限
2、chown mysql.mysql -R < mysql-bin.index所在的目录>
六、mysql主从库同步错误:1062 Error'Duplicate entry '1438019' for key 'PRIMARY'' on query
1、解决的办法是在从库上执行:
mysql> slave stop;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> slave start;
2、修改mysql的配置文件,让从库的同步线程忽略这个错误,方法:
修改mysql配置文件 /etc/my.cnf 在 [mysqld]下加一行 slave_skip_errors = 1062 ,保存.重启mysql. mysql slave可以正常同步了.
七、mysql主从库同步错误:Got fatalerror 1236 from master when reading data from binary log
在source(主)那边,执行:
flush logs;
show master status;
记下File, Position。
在target(从)端,执行:
CHANGE MASTER TOMASTER_LOG_FILE='testdbbinlog.000008',MASTER_LOG_POS=107;
slave start;
show slave status \G
一切正常。
本文出自 “运维・人生” 博客,转载请与作者联系!