mysql安装与主从配置

  本文主要介绍了ubuntu14.04环境下,mysql的安装与配置。

环境:ubuntu14.04(两台机器)
PC1(master):192.168.80.130
PC2(slave):192.168.80.131

mysql的安装

1
2
sudo apt-get update
sudo apt-get install mysql-server mysql-client

mysql的基本配置

  在更改mysql配置之前,先停止mysql服务。sudo /etc/init.d/mysql stop

  1. mysql的远程访问
    修改配置文件中的bind-address 0.0.0.0
    vim /etc/mysql/my.conf
  2. mysql的存储地址变更
    sudo cp -R -p /var/lib/mysql /newpath
    sudo vim /etc/apparmor.d/usr.sbin.mysqld
    修改配置文件中datadir = /newpath
    重新载入apparmor服务sudo /etc/init.d/apparmor reload
    重启mysqlsudo /etc/init.d/mysql start

    mysql的远程连接配置

    报错原因:
    ERROR 1130 (HY000): Host ‘192.168.80.130’ is not allowed to connect to this MySQL server
    解决方案:
    例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码。
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

    mysql的主从复制

    PC1(master):192.168.80.131
    PC2(slave):192.168.80.130
  • 主服务器操作
    -
  1. 配置主服务器 vim /etc/mysql/my.conf
    1
    2
    3
    4
    [mysqld]
    1 server-id=1 //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号
    2 log-bin=master-bin
    3 log-bin-index=master-bin.index
  2. 启动mysql服务
    1
    2
    3
    1 mysql>create user repl; //创建新用户
    2 //repl用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为mysql。说明一下192.168.0.%,这个配置是指明repl用户所在服务器,这里%是通配符,表示192.168.0.0-192.168.0.255的Server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。
    3 mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.%' IDENTIFIED BY 'mysql';
  3. 查看日志
    mysql> SHOW MASTER STATUS;
  • 从服务器操作
    -
  1. 配置从服务器
    1
    2
    3
    4
    1 [mysqld]
    2 server-id=2
    3 relay-log-index=slave-relay-bin.index
    4 relay-log=slave-relay-bin
  2. 重启mysql
  3. 连接master
    1
    2
    3
    4
    5
    6
    change master to master_host='192.168.0.104', //Master 服务器Ip
    master_port=3306,
    master_user='repl',
    master_password='mysql',
    master_log_file='master-bin.000001',//Master服务器产生的日志
    master_log_pos=0;
  4. 启动slave
    start slave;