MySQL主从复制(详细配置)(亲测)
MySQL安装
sudo apt-get install mysql-client mysql-server
在安装过程中会让设置root密码 设置root密码
主从服务器都安装MySQL
设置主服务器配置
首先更改MySQL配置 让所有用户都可以连接
- 一般MySQL配置文件存放位置为
/etc/mysql/mysql.conf.d/mysqld.cnf
修改这个文件sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
把 bind-address =127.0.0.1注释掉 或者修改成 bind-address =0.0.0.0 - 进入mysql
mysql -uroot -ppwd
环境 - 修改mysql权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
这句话意思就是让root用户可以让所有ip都可以通过 账号root 密码123 进行连接 % 就是所有ip - 修改MySQL另一个配置文件
vi /etc/mysql/my.cnf
在这个文件中添加
[mysqld]
log-bin=mysql-bin #开启日志
server-id = 1 - 重启MySQL
service mysql restart
至此master的mysql已经配置完成
配置从MySQL
- 修改MySQL配置文件
vi /etc/mysql/my.cnf
在这个文件中添加
[mysqld]
log-bin=mysql-bin
server-id = 2 - 重启MySQL
service mysql restart
至此从mysql已经配置完成 - 进入mysql的环境 首先在master MySQL 环境中输入
show master status;
- 在从mysql 中输入
change master to master_host='主MySQLip',master_user='root',master_password='root',master_log_file='mysql-bin.000004',master_log_pos=154;
和mester中相同 -
start slave;
然后输入show slave status\G;
查看状态
这个两个为yes就成功了 可以测试一下 如果slave_IO_Running 为connecting 很可能主mysql配置没有配置好需要自己在排查一下