MySQL服务器修改主机名后问题解决
1、单机MySQL主机名修改
今天无事看到自己的主机名不对,于是改了一下,以便区分服务器,那只重启MySQL时出现下面错误:
MySQL manager or server PID file could not be found! [FAILED]
Starting MySQL.Manager of pid-file quit without updating fi[FAILED]
怎么会找不到PID呢,看下面:
[root@daban114.com ~]# ps aux | grep mysql
mysql 16433 0.0 0.2 36636 5756 ? Sl 15:07 0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql --log-error=/usr/local/mysql/var/hao9goAndSecondWeb.err --pid-file=/usr/local/mysql/var/hao9goAndSecondWeb.pid --socket=/tmp/mysql.sock --port=3306
root 16992 0.0 0.0 4020 704 pts/0 S+ 15:11 0:00 grep mysql
原来PID还是原来主机名.pid,运行:
kill -9 <mysqlpid> 然后 service mysql start 哈哈看到绿色的OK了,
[root@daban114 ~]# service mysql start
Starting MySQL. [ OK ]
或
[mysql@master ~]$ /etc/init.d/mysql restart
MySQL server PID file could not be found! [FAILED]
Starting MySQL..^[[A.......................................[FAILED]....................................................
.The server quit without updating PID file (/usr/local/mysql5.6/data/master.pid).
[mysql@master ~]$ /etc/init.d/mysql restart
mysql 修改主机名后 ,手动kill进程 重启
2、MySQL从库主机名修改
环境:MySQL5.6 + CentOS6.5
问题描述:从库修改主机名后,从库的同步没有自动启动,用start slave命令开启失败
从库修改主机名后,从库的同步没有自动启动,查看状态如下:
mysql> show slave statusG
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.1.2
Master_User: manager_slave
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: logbin.000053
Read_Master_Log_Pos: 588641410
Relay_Log_File: zzstep-relay-bin.000015
Relay_Log_Pos: 38778474
Relay_Master_Log_File: logbin.000053
Slave_IO_Running: No
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB: mysql,information_schema,performance_schema
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table: hn.sphinx%
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 588641410
Relay_Log_Space: 0
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 0
Master_UUID: 8ce09c46-a7be-11e4-8e06-0050569f4b5b
Master_Info_File: /opt/mysql_data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State:
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)
使用start slave命令开启失败:
mysql> start slave;
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
使用reset slave命令解决:
mysql> reset slave;
Query OK, 0 rows affected (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.03 sec)
mysql> show slave statusG
*************************** 1. row ***************************
Slave_IO_State: Queueing master event to the relay log
Master_Host: 192.168.1.2
Master_User: manager_slave
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: logbin.000021
Read_Master_Log_Pos: 11215004
Relay_Log_File: db_mysql_02-relay-bin.000007
Relay_Log_Pos: 22097
Relay_Master_Log_File: logbin.000005
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB: mysql,information_schema,performance_schema
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table: hn.sphinx%
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 21937
Relay_Log_Space: 13113813
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 1071515
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 11
Master_UUID: 8ce09c46-a7be-11e4-8e06-0050569f4b5b
Master_Info_File: /opt/mysql_data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: creating table
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)
mysql>
总结:
由于修改主机名后,relay-log的名称发生变化,导致文件IO失败,reset slave可以重新定位。
文章来源:http://huangfuff.blog.51cto.com/2632203/1610429
如果修改了从库的主机名,而从库又忘了做relay-log和relay-log-index的配置,估计会导致从库同步失败。由于公司刚改了主机名,写个博客,后续出问题好进行改进。方案测试通过。
步骤如下:
1: 从库先停止主从复制
stop slave;
2: 记录下主从同步的信息(主要是以下两个信息)
show slave status\G
Master_Log_File: mysql-bin.000085
Read_Master_Log_Pos: 120
3: 重置数据库
reset slave;
--> 在这里,最好设置一个两个参数,预防后续再改主机名
relay-log = relay-log
relay-log-index = relay-log.index
4: 如果主库设置给从库的用户名和密码忘记了话,再grant一次(记得就跳过这步了)
grant replication slave on *.* to 'replication'@'192.168.1.2' identified by 'xxx';
5: 从库设置slave
change master to master_log_file='mysql-bin.000085',master_log_pos=120,master_user='replication',master_password='xxx', master_host='192.168.1.1';
6: 开启从库
start slave;
另外,再reset slave后感觉得配置下relay-log和relay-log-index,然后重启下数据。再从第5步开始,这样后续改主机名就不会影响到了。
如果是主库没指定bin-log和bin-log-index,那修改主机名后会怎么样,不知道会产生什么样的问题和应对方案该怎么样。暂时方案如下:
1: 在mysql上找到主的位置,应该是一开始的。位置:4
show master status\G
--> 其实这里,如果改了主机名,最好在配置里面指定两个参数(后续改主机就没事了)
log-bin=master-bin
log-bin-index = masters-bin.index
2: 先把从库停止
stop slave;
3: 把之前从库的同步信息全部去掉
reset slave;
4: 然后指向主的第一个位置开始同步
change master to master_log_file='master-bin.000001',master_log_pos=4,master_user='replication',master_password='xxx', master_host='192.168.1.1';
5: 再开启从应该就可以了
start slave;
MySQL服务器修改主机名后问题解决的更多相关文章
- 修改主机名后VCS的修改
转:https://blog.csdn.net/nauwzj/article/details/6733135 一. 单机改主机名需更改以下文件: /etc/hosts /etc/hostname.hm ...
- CentOS 7 修改主机名
今天在阿里云上买了一个centos7的服务器,连接上以后,发现一个很长很长的主机名,看着让人很是不爽,就想着怎样将其改成一个有个性的名字. 这里我想说的是,在centos7 版本的linux系统上和c ...
- 如何在CentOS 7上修改主机名
如何在CentOS 7上修改主机名 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty).“静态”主机名也称为内核主机名,是系统在启动时 ...
- Linux CentOS7.0 (02)修改主机名和ip地址
一.主机名修改 1.查看命令 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty). "静态"主机名也称为内核主机名 ...
- Centos7系统下修改主机名操作笔记
习惯了在Centos6系统下修改主机名的操作,但是Centos7下修改主机名的操作却大不相同!操作笔记如下: 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient) ...
- 【转】Centos 7 修改主机名hostname
在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty).“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始 ...
- sqlserver修改主机名
sqlserver迁移后,主机和原机器不符,将系统修改主机名后,数据库代理服务.邮件服务无法启动 执行下面语句,检查sqlserver中windows主机名 -- 检查SQL Server中的&quo ...
- CentOS 7上修改主机名
如何在CentOS 7上修改主机名 在Cent ...
- CentOS7修改主机名的三种方法
在CentOS7中,有三种定义的主机名: 静态的(Static hostname) “静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名. 瞬态的(Tansie ...
随机推荐
- Java集合类框架的基本接口有哪些?
总共有两大接口:Collection 和Map ,一个元素集合,一个是键值对集合: 其中List和Set接口继承了Collection接口,一个是有序元素集合,一个是无序元素集合: 而ArrayLis ...
- 初探Java 9 的的模块化
Java 9中最重要的功能,毫无疑问就是模块化(Module),它将自己长期依赖JRE的结构,转变成以Module为基础的组件,当然这在使用Java 9 开发也和以前有着很大的不同. Java8或更加 ...
- 【poj2406】 Power Strings
http://poj.org/problem?id=2406 (题目链接) 题意 给定一个字符串 L,已知这个字符串是由某个字符串 S 重复 R 次而得到的, 求 R 的最大值. Solution 后 ...
- HDU.2147 kiki's game (博弈论 PN分析)
HDU.2147 kiki's game (博弈论 PN分析) 题意分析 简单的PN分析 博弈论快速入门 代码总览 #include <bits/stdc++.h> using names ...
- Paxos Made Simple【翻译】
Paxos一致性算法——分布式系统中的经典算法,论文本身也有一段有趣的故事.一致性问题是分布式系统的根本问题之一,在论文中,作者一步步的加强最初一致性问题(2.1节提出的问题)的约束条件,最终导出了一 ...
- phpredis -- redis_cluster
https://github.com/phpredis/phpredis/tree/feature/redis_cluster https://github.com/phpredis/phpredis
- 书架 bookshelf
书架 bookshelf 题目描述 当Farmer John闲下来的时候,他喜欢坐下来读一本好书. 多年来,他已经收集了N本书 (1 <= N <= 100,000). 他想要建立一个多层 ...
- Luogu 1020 导弹拦截(动态规划,最长不下降子序列,二分,STL运用,贪心,单调队列)
Luogu 1020 导弹拦截(动态规划,最长不下降子序列,二分,STL运用,贪心,单调队列) Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺 ...
- 什么是MySQL
数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是在文件中读 ...
- Kubernetes Downward API
目录 说明 环境变量方式 将pod信息注入为环境变量 将容器资源信息注入为环境变量 volume挂载方式 作用 说明 我们知道,每个Pod在成功创建出来之后,都会被系统分配唯一的名字.IP地址,并且处 ...