mysql的创建步骤_mysql主从创建步骤

l 主mysql上:

# cp  /etc/my.cnf  /etc/my.cnf.bak

# vi /etc/my.cnf

log_bin=mysql-bin     //开启二进制日志

server_id=1 //server_id 的值主从必须不同

# service mysqld restart

登录mysql后进行授权:

mysql> grant all on *.* to 'replication'@'%' identified by 'replication';

mysql> flush privileges;

解释:在master的数据库服务器中建立一个复制的账户,每个slave使用该账户链接master来进行复制,设置所有权限(根据具体情况自定)。上面创建了一个replication用户,密码是replication。只允许在所有段的ip地址的登录。

查看master的状态:

# mysql -uroot -p

mysql> show master status;

记住file和position的值,配置slave的时候需要用。

l 从mysql上配置:

修改配置文件

# vi /etc/my.cnf

server_id = 2 //修改server_id,其值必须和master的不同。

relay_log=relay-logs //开启中继日志,可以自定义目录,mysql用户有权限即可

# service mysqld restart

# mysql -uroot –p

查看中继日志的启动状态:

mysql> show global variables like '%relay%';

连接master服务器:

mysql> change master to master_host='172.18.49.10',master_user='replication',master_password='replication',master_log_file='master-bin.000003',master_log_pos=284;

选项解释:

master_host:Master 服务器IP

master_user:Master 服务器授权用户,也就是 Master 前面创建的那个用户

master_password:Master 服务器授权用户对应的密码

master_log_file:Master binlog 文件名

master_log_pos:Master binlog 文件中的 Postion 值

手动启动复制线程:

mysql> start slave;

如果 Last_SQL_Error 没有错误提示以及 Salve 中的 Exec_Master_Log_Pos 值和 Master 中的 show master status; 中的 Postition 值是一样的,这样的话,MySQL 主从复制应该是成功的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Ansible创建MySQL主从复制的步骤如下: 1. 首先,在Ansible主机上安装Ansible,可以使用以下命令安装特定版本的Ansible: ``` pip install ansible==2.9 ``` 2. 然后,在Ansible主机上创建一个Ansible playbook文件,用于定义任务和配置。 3. 在playbook文件中,定义主服务器和从服务器的主机组和变量。例如: ``` [mysql_master] 10.4.0.17 [mysql_slave] 10.4.0.22 [mysql:children] mysql_master mysql_slave [mysql:vars] mysql_root_password=YourRootPassword mysql_replication_user=YourReplicationUser mysql_replication_password=YourReplicationPassword ``` 在这个例子中,我们定义了两个主机组(mysql_master和mysql_slave)和一个父组(mysql),并设置了MySQL的根密码(mysql_root_password)和复制用户(mysql_replication_user)的密码(mysql_replication_password)。 4. 接下来,编写任务来配置主从复制。在playbook文件中,使用mysql_replication模块和一些变量来配置主从复制。例如: ``` - name: Configure MySQL master hosts: mysql_master become: true become_user: root tasks: - name: Create replication user mysql_user: name: "{{ mysql_replication_user }}" host: "%" password: "{{ mysql_replication_password }}" priv: "*.*:REPLICATION SLAVE" state: present register: replication_user_result - name: Get master status mysql_replication: mode: status register: master_status_result - name: Configure MySQL slave hosts: mysql_slave become: true become_user: root tasks: - name: Start slave replication mysql_replication: mode: change_master master_host: "{{ hostvars['mysql_master'].inventory_hostname }}" master_user: "{{ mysql_replication_user }}" master_password: "{{ mysql_replication_password }}" master_log_file: "{{ hostvars['mysql_master']['master_status_result']['File'] }}" master_log_pos: "{{ hostvars['mysql_master']['master_status_result']['Position'] }}" state: start_slave ``` 这个任务首先在主服务器上创建复制用户,然后获取主服务器的状态。然后,在从服务器上配置从服务器的复制设置。 5. 最后,在Ansible主机上运行playbook文件,以创建MySQL主从复制。例如: ``` ansible-playbook playbook.yml ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DroneGP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值