十二、MySQL从入门到高可用架构报错解决

1)

报错原因:MySQL的socket文件目录不存在。

解决方法:创建MySQL的socket文件目录

mkdir /application/mysql-5.6.38/tmp

2)

报错原因:socket文件目录没有权限

解决方法:给socket文件目录授权mysql用户的权限

chown -R mysql.mysql /application/mysql-5.6.38/

3)

报错原因:没有做初始化

解决方法:做初始化

./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

4)

报错原因:找不到socket文件

解决方法:1. mysql -uroot -poldboy123 -S /tmp/mysql.sock 指定socket文件路径

2.把socket文件放到默认路径下 mv /tmp/mysql.sock /application/mysql/tmp/

5)

报错原因:跳过授权表安全启动导致无法使用权限的设置

解决方法:使用insert,update语句对表进行修改添加用户权限

6)

报错原因:插入数据时,表内有字段含有默认值,必须填写

解决方法:在insert语句中加上对应字段的默认值

7)

报错原因:SQL语句中含有中文字符所以不识别'localhost'

解决方法:将中文的标点符号改成英文的

8)

报错原因:设置的共享表空间小于当前共享表空间的大小

#当前共享表空间大小:76M

[root@oldboy data]# du -sh ibdata1

76M ibdata1

#配置文件中共享表空间大小:50M

innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend

解决方法:将配置文件中的50M修改为76M即可,然后重启MySQL

报错原因:修改事务的隔离级别RC、RU的时候需要将binlog格式改成row

解决方法:在配置文件的[mysqld]标签下添加一行 binlog_format=row,重启MySQL

报错原因:MySQL配置文件中参数有问题。

解决方法:修改MySQL配置文件中的对应参数。

报错原因:使用操作不当的方式删除了binlog日志

解决方法:重新初始化数据库

报错原因:主从复制过程中master和slave的uuid相同

解决方法:修改uuid文件或者删除uuid文件并重启

vim /application/mysql/data/auto.cnf

[auto]

server-uuid=3ba9b12e-b4e8-11e8-b930-000c29a508b5

或者:

rm -f /application/mysql/data/auto.cnf

重启:

/etc/init.d/mysqld restart

报错原因:从库没有执行change master to 语句,直接start slave;

解决方法:执行change master to语句

报错原因:不认识innodb

解决方法:初始化

报错原因:IO线程连接超时

解决方法:
1.网络 ping

2.端口 telnet tcping

3.用户名、密码 mysql –urep –poldboy123 –h10.0.0.51 –P3309

报错原因:因为做了hosts解析,将ip反向解析成了主机名

解决方法:
1.在所有主机上都相互做解析,grant rep@'oldboy'

2.在配置文件中[mysqld]标签下添加一行:skip_name_resolv(跳过反向解析)

posted @ 2019-12-10 12:32  _︶"  阅读(116)  评论(0编辑  收藏  举报