问题:进行Mysql主从备份的时候,去主服务器的mysql的配置文件my.cnf里面添加
server-id=39
log-bin = master-bin
但是发现 /etc/my.cnf文件不存在,
分析:因为mysql版本的不一致,导致my.cnf文件不存在,但是有一个类似的文件my.cnf.rpmsave,vim编辑,发现里面的配置和my.cnf一样,而且还多了[mysql_save]的部分,
直接在[mysqld]下面直接加上配置,重新启动mysql,
show master status;无反应,此时因为mysql重启时并没有带着刚才的配置文件启动
解决:
1)mysql --verbose --help|grep my.cnf查看mysql默认的配置文件路径
按道理默认配置是/etc/my.cnf,但是上面提示被ignored(忽视了),所以顺延到的是第二个文件,cd /etc/mysql发现没有mysql这个文件夹,mkdir mysql,这里可以将刚才的my.cnf文件复制到mysql文件夹下
2)ps -ef|grep mysql 查找mysql有关的进程,
kill -9 进程号杀死
3)给刚才复制过去的文件进行授权
chmod 775 /etc/mysql/my.cnf
4)service mysql start 启动mysql,发现报错
5)chown -R mysql.mysql /usr/local/mysql/data
给data目录进行授权
6)再次重启mysql,报错
7)提示文件夹不存在,mkdir /usr/local/mysql/tmp,创建一个文件夹
8)再次启动,又报错
9)再给刚创建的文件夹授权,
chmod 777 /usr/local/mysql/tmp
再启动,成功
10)登录mysql报错,报mysql.sock文件找不到
一般这个文件在tmp文件夹下面或者在mysql/tmp文件夹下面,将路径替换,重新启动即可
11)进入mysql里面,show master status;
over
总结:探索真理的道路总是坎坷的,虽然我在这个错的过程中也是说了很多卧槽,不过心还是要冷静,从报错日志里面去找到错误的原因,网上的解答很多都不靠谱,自己可以看情况去尝试,不能盲目,对症下药,不过解决了问题就很开心啊