• ADADADADAD

    MySQL 主从同步。[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:56:55

    作者:文/会员上传

    简介:

    Mysql数据库安装:服务器IP 地址规划:主服务器 IP172.20.2.46 从服务器 IP 172.20.2.47二、安装mysql服务器1.将下载好的安装到解压到/usr/local目录下tar -zxvf mysql-5.7.22-

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    Mysql数据库安装:

    服务器IP 地址规划:
    主服务器 IP172.20.2.46 从服务器 IP 172.20.2.47

    二、安装mysql服务器

    1.将下载好的安装到解压到/usr/local目录下
    tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

    2.进入/usr/local目录
    cd /usr/local/

    3.为mysql安装目录创建软链接
    ln -s mysql-5.7.22-linux-glibc2.12-x86_64 mysql

    4.为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
    groupadd mysql
    useradd -r -g mysql -s /bin/false mysql

    5.进入安装mysql软件的目录,命令如下
    cd /usr/local/mysql

    6.修改当前目录拥有者为新建的mysql用户,命令如下:
    chown -R mysql:mysql ./

    7.安装mysql,命令如下:
    ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

    8.如果出现如下图所示则为安装成功,系统默认生成密码。

    9.开启mysql服务,命令如下:
    ./support-files/mysql.server start

    如果出现如下错误,则说明mysql配置文件/etc/my.cnf中的路径不对,修改内容如下,datadir和socket都修改成mysql的安装目录下,增加[client]板块,用于命令行连接mysql数据库。
    ########################################################################
    [mysqld]
    port=3306
    datadir=/usr/local/mysql/data
    socket=/usr/local/mysql/mysql.sock
    user=mysql
    max_connections=151
    symbolic-links=0

    设置忽略大小写

    lower_case_table_names = 1

    指定编码

    character-set-server=utf8

    collation-server=utf8_general_ci

    开启ip绑定

    bind-address = 0.0.0.0

    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

    #指定客户端连接mysql时的socket通信文件路径
    [client]
    socket=/usr/local/mysql/mysql.sock

    default-character-set=utf8

    ##########################################################################################################

    9.重新开启mysql服务,如下图所示则开启成功!
    ./support-files/mysql.server start

    10.将mysql进程放入系统进程中,命令如下:
    cp support-files/mysql.server /etc/init.d/mysqld

    11.重新启动mysql服务,命令如下:
    ./support-files/mysql.server start

    12.配置mysql环境变量
    vi /etc/profile
    export PATH=$PATH:/usr/local/mysql/bin

    保存退出,再编译下:
    source /etc/profile

    13.使用随机密码登录mysql数据库,命令如下:
    mysql -u root -p

    输入随机密码登录成功如下图所示:

    14.进入 mysql 操作行,为root用户设置新密码(这里设置为 youpassword):

    1、 修改用户密码
    mysql> alter user 'root'@'localhost' identified by 'youpassword';  

    或者       

    mysql> set password=password("youpassword");
    2、刷新权限
    mysql> flush privileges;

    #################################################################

    主从配置过程:

    主服务器 IP172.20.2.46 从服务器 IP 172.20.2.47

    1)主服务器配置:
    [root@MySQL-M ~]# vim /etc/my.cnf# 添加以下内容。
    [mysqld]
    #给服务器一个唯一的ID。
    server_id=46
    #开启二进制日志。
    log-bin=mysql-bin # mysql-bin 为日志名字。
    #指定二进制日志格式。
    binlog-format=mixed

    备注:
    #############################################
    mixed #
    row # 二进制记录的是磁盘。
    stateement# 二进制记录执行语句,如 update
    ###############################################
    哪个好?
    update age=age+1 where id=3;// 语句长而磁盘变化少,宜用row
    update salary=salary+100; // 语句短,但影响上万行,磁盘变化大,宜用stateement
    mixed ,混合的,由系统根据语句,来决定。
    ########################################################################
    2)从服务器配置:
    [root@MySQL-S ~]# vim /etc/my.cnf
    [mysqld]
    #给服务器一个唯一的ID。
    server-id=47
    #开启二进制日志。## 一方面恢复以后数据丢失使用,也可以做一主多从使用。建议打开。
    log-bin=mysql-bin
    #指定二进制日志格式。
    binlog-format=mixed

    开启 relay-log中继日志功能。

    relay-log=mysql-relay
    ########################################################################
    两台服务器启动服务。
    [root@MySQL-M mysql]# ./support-files/mysql.server restart

    [root@MySQL-S mysql]# ./support-files/mysql.server restart
    ########################################################################
    主服务器操作:
    [root@MySQL-M ~]# mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.Commands end with ; or \g.
    Your MySQL connection id is 20220
    Server version: 5.7.22-log MySQL Community Server (GPL)
    mysql>

    查看 master 是否有充当 master 的状态条件 。
    mysql> show master status;
    +------------------+----------+--------------+------------------+-------------------+
    | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |Position # 字节偏移处。
    +------------------+----------+--------------+------------------+-------------------+
    | mysql-bin.000001 | 1559 ||| |
    +------------------+----------+--------------+------------------+-------------------+
    1 row in set (0.00 sec)

    主服务器授权:
    mysql> grant replication client,replication slave on . to repl@'172.20.2.%' identified by 'repl';
    Query OK, 0 rows affected, 1 warning (0.01 sec)

    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    ########################################################################
    从服务器操作:
    mysql> change master to
    -> master_host='172.20.2.46',
    -> master_user='repl',
    -> master_password='repl',
    -> master_log_file='mysql-bin.000001',
    -> master_log_pos=1559;
    Query OK, 0 rows affected, 2 warnings (0.05 sec)

    mysql> show slave status;
    +----------------------------------+-------------+-------------+-------------+---------------+------------------+---------------------+--------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+--------------

    mysql> show slave status \G
    1. row
    Slave_IO_State: Waiting for master to send event
    Master_Host: 172.20.2.46
    Master_User: repl
    Master_Port: 3306
    Connect_Retry: 60
    Master_Log_File: mysql-bin.000001
    Read_Master_Log_Pos: 1559
    Relay_Log_File: mysql-relay.000003
    Relay_Log_Pos: 320
    Relay_Master_Log_File: mysql-bin.000001
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

    SQL_Remaining_Delay: NULLSlave_SQL_Running_State: Slave has read all relay log; waiting for more updates Master_Retry_Count: 86400Master_Bind: Last_IO_Error_Timestamp:Last_SQL_Error_Timestamp: 

    启动从服务器功能
    mysql> start slave;
    ########################################################################
    测试:
    主服务器:
    mysql> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | haha |
    | mysql|
    | performance_schema |
    | sys|
    | test8|
    | zabbix |
    +--------------------+
    7 rows in set (0.01 sec)

    mysql> create database wagnbo
    -> ;
    Query OK, 1 row affected (0.01 sec)

    从服务器:
    mysql> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | haha |
    | mysql|
    | performance_schema |
    | sys|
    | test |
    | test8|
    | wagnbo |
    | zabbix |
    +--------------------+
    9 rows in set (0.00 sec)
    ########################################################################

    MySQL 主从同步。.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql主从