zoukankan      html  css  js  c++  java
  • Linux安装mysql及主从数据库同步

    1.下载mariadb,通过阿里云的源
      yum install mariadb-server


    2.通过yum安装的软件,都可以通过systemctl启动

      systemctl start/stop/restart/status  mariadb


    3.初始化mariadb,设置root密码,删除匿名用户等

      mysql_secure_installation

    4.配置myariadb远程登录,可以通过windows,pycharm等客户端进行连接,在远端登录必须如数321这个密码

      mysql》grant all privileges on *.* to root@'%' identified by '321';

      cmd 端登录 mysql -uroot -p  -h 192.168.12.115 

      授予 所有的 权限 在 所有的库.所有的表 用户名@"所有的地址" identified by "密码";

    5.刷新授权表,使得权限立即生效
      mysql》flush privileges;

    6.更改mysql的密码
      mysql》set password = PASSWORD('redhat123');

    7.创建普通用户s14
      mysql》create user zxd@'%' identified by '321';

    8.查询用户信息
      mysql》select host,user,password from user;

    9.授权语句
      grant 权限 on 数据库.表名 to 账户@主机名 对特定数据库中的特定表授权
      grant 权限 on 数据库.* to 账户@主机名   对特定数据库中的所有表给与授权
      grant 权限1,权限2,权限3 on *.* to 账户@主机名    对所有库中的所有表给与多个授权
      grant all privileges on *.* to 账户@主机名    对所有库和所有表授权所有权限
      grant create,select,insert on *.* to root@'%' identified by "密码"

    10.数据库的中文设置  

      1.查看数据库编码
        s

      2.修改mysql的配置文件 /etc/my.cnf ,加入以下信息

        [mysqld]
        character-set-server=utf8
        collation-server=utf8_general_ci
        log-error=/var/log/mysqld.log
        [client]
        default-character-set=utf8
        [mysql]
        default-character-set=utf8

      3.修改了配置文件,重启服务

        systemctl restart mariadb 


    11.mysql的数据备份

      1.通过命令导出全部数据

      mysqldump -u root -p --all-databases > /data/db.dump

      2.导入数据库的db文件,在mysql命令行中输入这个命令

      linux》source  /data/db.dump;

    主从复制步骤:

    环境准备:
    准备两台服务器,安装两个mariadb

    主库是:192.168.12.115    mater
    从库是:192.168.12.151    slave

    主库操作如下:

    1.开启binlog功能,修改/etc/my.cnf
    vim /etc/my.cnf #写入

    [mysqld]
    server-id=1 #指明主库的身份id为1
    log-bin=mysqls-bin #指明binlog的日志名

    2.修改了配置文件,重启mariadb,使得binlog生效
    systemctl restart mariadb

    3.登录mysql,检查主库的状态 
    show master status;

    4.创建一个用户,用于进行主从同步
    create user 'zxd'@'%' identified by '321';


    5.授予账号权限,授予一个从库的身份权限

    grant replication slave on *.* to 'zxd'@'%'

    6.锁定mysql的表,防止数据写入
    flush table with read lock;

    7.主从同步,将从库与主库的数据,保持一致后,它俩都在同一个起跑线,然后解除锁表,一同写入数据,保证数据一致性
      1.导出当前的数据,用于slave机器导入数据,保证在一个起始点
      mysqldump -u root -p --all-databases > /data/db.dump
      2.将此db.dump文件远程传输给 slave机器,用于导入
      scp /data/db.dump root@192.168.12.151:/tmp/
      3.登录slave从库,导入主库的数据信息
      mysql > source /tmp/db.dump
      4.查看主库和从库的信息,是否一致

    8.查看主库的状态信息,binlog信息,记住日志名称以及position在从库的配置中写入
    show master status;

    9.解锁表,开始主从同步
    unlock tables;

    从库设置:

    1.在/etc/my.cnf当中打开server-id
    vim /etc/my.cnf
    server-id=10
    2.重启myariadb

    systemctl restart mraiadb

    3.查看slave机器的身份信息
    show variables like 'server_id';
    show variables like 'log_bin';

    4.通过命令,开启主从同步技术

    change master to master_host='192.168.12.115',
    master_user='zxd',
    master_password='321',
    master_log_file='mysqls14-bin.000001',
    master_log_pos=245;  #245是position位置,是show master status中得到的

    5.开启slave
    start slave;


    6.检查slave状态,检查两条参数,如果都是yes,即主从ok
    show slave statusG;

    7.此时可以在主库中写入数据,查看从库中是否生成了记录

    主库:插入数据

    从库:检查数据

     

      

     

      

  • 相关阅读:
    [ISSUE]SyntaxWarning: name 'xxx' is assigned to before global declaration
    memcached 安装
    gulp 初体验
    gitcafe 使用hexo搭建博客
    sulime-text 3 安装以及使用
    media queries 媒体查询使用
    css3之@font-face---再也不用被迫使用web安全字体了
    前端的一些疑问总结01
    bootstrap 笔记01
    自定义表单样式之checkbox和radio
  • 原文地址:https://www.cnblogs.com/wszxdzd/p/10073078.html
Copyright © 2011-2022 走看看