美文网首页Linux成长库
使用rpm快速安装部署MySQL5.6以及主从设置

使用rpm快速安装部署MySQL5.6以及主从设置

作者: 泡菜爱上WaSabi | 来源:发表于2017-08-03 09:19 被阅读4次

    1、首先再linux上配置好yum源和epel源

    若以配置,则直接跳过这步

    2、首先,登录MySQL官网,下载rpm包

    https://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.37-1.el6.x86_64.rpm-bundle.tar

    3、将rpm包上传至服务器,可以是rz上传,也可以是Xshell的Xftp上传

    这里采用Xftp,将rpm包传至相关目录下

    4、解压安装包

    #tar -xvf MySQL-5.6.37-1.el6.x86_64.rpm-bundle.tar

    MySQL-shared-5.6.37-1.el6.x86_64.rpm

    MySQL-shared-compat-5.6.37-1.el6.x86_64.rpm

    MySQL-server-5.6.37-1.el6.x86_64.rpm

    MySQL-test-5.6.37-1.el6.x86_64.rpm

    MySQL-client-5.6.37-1.el6.x86_64.rpm

    MySQL-devel-5.6.37-1.el6.x86_64.rpm

    MySQL-embedded-5.6.37-1.el6.x86_64.rpm

    5、移除已经安装的早期版本

    由于centos6.5的yum源中默认有MySQL 5.1.73版,因此由于冲突原因,删除老版本

    rpm -qa | grep mysql

    rpm -e --nodeps mysql

    6、使用rpm命令安装

    rpm -ivh MySQL-*.rpm

    warning: MySQL-client-5.6.37-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

    Preparing...                ########################################### [100%]

    1:MySQL-devel            ########################################### [ 14%]

    2:MySQL-client          ########################################### [ 29%]

    3:MySQL-test            ########################################### [ 43%]

    4:MySQL-embedded        ########################################### [ 57%]

    5:MySQL-shared-compat    ########################################### [ 71%]

    6:MySQL-shared          ########################################### [ 86%]

    7:MySQL-server          ########################################### [100%]

    。。。。。。。。。。。

    7、注意,在Mysql-server安装完成后,要注意下面的提示,查看/root/.mysql_secret文件的内容,记录下其中l临时生成的密码:

    查看文件的内容:cat /root/.mysql_secret

    The random password set for the root user at Tue Aug  1 15:42:46 2017 (local time): yRRpKLZ2Y6KFIGG9

    8、启动mysql服务

    service mysql start

    注意:这里面不是"servicemysqld start",在5.6这个版本里,命令和以前的有点区别。

    # service mysql start

    Starting MySQL.Logging to '/var/lib/mysql/jksyy.err'.

    SUCCESS!

    9、查找配置文件

    mysql --help | grep my.cnf

    10、启动客户端

    先查看默认密码

    [root@localhost mysql]# cat /root/.mysql_secret

    # The random password set for the root user at Wed Aug  2 10:40:22 2017 (local time): 0Ix5DP8Gi7Yna9nd

    连接客户端,并且输入密码

    #mysql -uroot -p

    Enter password:

    Welcome to the MySQL monitor.  Commands end with ; or \g.

    Your MySQL connection id is 2

    Server version: 5.6.37

    11、更改root用户密码

    set password for 'root'@'localhost' =password('123456');

    创建一个用户,并且授权

    create user admin;

    grant all privileges on *.* to admin@'%' with grant option;

    flush privileges;

    12.主从配置

    mysql主从复制

    (超简单)

    怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:

    1、主从服务器分别作以下操作:

    1.1、版本一致

    1.2、初始化表,并在后台启动mysql

    1.3、修改root的密码

    2、修改主服务器master:

    #vi /etc/my.cnf

    [mysqld]

    log-bin=mysql-bin  //[必须]启用二进制日志

    server-id=222      //[必须]服务器唯一ID,默认是1,一般取IP最后一段

    3、修改从服务器slave:

    #vi /etc/my.cnf

    [mysqld]

    log-bin=mysql-bin  //[不是必须]启用二进制日志

    server-id=226      //[必须]服务器唯一ID,默认是1,一般取IP最后一段

    4、重启两台服务器的mysql

    /etc/init.d/mysql restart

    5、在主服务器上建立帐户并授权slave:

    #/usr/local/mysql/bin/mysql -uroot -pmttang

    mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456'; //一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可

    用具体客户端IP代替,如192.168.145.226,加强安全。

    6、登录主服务器的mysql,查询master的状态

    mysql>show master status;

    +------------------+----------+--------------+------------------+

    | File            | Position | Binlog_Do_DB | Binlog_Ignore_DB |

    +------------------+----------+--------------+------------------+

    | mysql-bin.000004 |      308 |              |                  |

    +------------------+----------+--------------+------------------+

    1 row in set (0.00 sec)

    注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

    7、配置从服务器Slave:

    mysql>change master to master_host='192.168.145.222',master_user='mysync',master_password='q123456',

    master_log_file='mysql-bin.000004',master_log_pos=308;  //注意不要断开,308数字前后无单引号。

    Mysql>start slave;    //启动从服务器复制功能

    8、检查从服务器复制功能状态:

    mysql> show slave status\G

    *************************** 1. row ***************************

    Slave_IO_State: Waiting for master to send event

    Master_Host: 192.168.2.222  //主服务器地址

    Master_User: mysync  //授权帐户名,尽量避免使用root

    Master_Port: 3306    //数据库端口,部分版本没有此行

    Connect_Retry: 60

    Master_Log_File: mysql-bin.000004

    Read_Master_Log_Pos: 600    //#同步读取二进制日志的位置,大于等于Exec_Master_Log_Pos

    Relay_Log_File: ddte-relay-bin.000003

    Relay_Log_Pos: 251

    Relay_Master_Log_File: mysql-bin.000004

    Slave_IO_Running: Yes    //此状态必须YES

    Slave_SQL_Running: Yes    //此状态必须YES

    ......

    注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

    以上操作过程,主从服务器配置完成。

    9、主从服务器测试:

    主服务器Mysql,建立数据库,并在这个库中建表插入一条数据:

    mysql> create database hi_db;

    Query OK, 1 row affected (0.00 sec)

    mysql> use hi_db;

    Database changed

    mysql>  create table hi_tb(id int(3),name char(10));

    Query OK, 0 rows affected (0.00 sec)

    mysql> insert into hi_tb values(001,'bobu');

    Query OK, 1 row affected (0.00 sec)

    mysql> show databases;

    +--------------------+

    | Database          |

    +--------------------+

    | information_schema |

    | hi_db                |

    | mysql                |

    | test                |

    +--------------------+

    4 rows in set (0.00 sec)

    从服务器Mysql查询:

    mysql> show databases;

    +--------------------+

    | Database              |

    +--------------------+

    | information_schema |

    | hi_db                |      //I'M here,大家看到了吧

    | mysql                |

    | test          |

    +--------------------+

    4 rows in set (0.00 sec)

    mysql> use hi_db

    Database changed

    mysql> select * from hi_tb;          //查看主服务器上新增的具体数据

    +------+------+

    | id  | name |

    +------+------+

    |    1 | bobu |

    +------+------+

    1 row in set (0.00 sec)

    10、完成:

    编写一shell脚本,用nagios监控slave的两个yes(Slave_IO及Slave_SQL进程),如发现只有一个或零个yes,就表明主从有问题了,发短信警报吧。

    授权的语句:

    grant all privileges on *.* to root@'%' with grant option;

    create user admin;

    grant all privileges on *.* to admin@'%' with grant option;

    flush privileges;

    从服务器“read_only=1”只读模式开启的解锁命令为设定“read_only=0”;设定全局锁“flush tables with read lock;”,对应的解锁模式命令为:“unlock tables;”

    set global read_only=1;####给从服务器设置只读

    set global read_only=0;####取消设置只读属性

    相关文章

      网友评论

        本文标题:使用rpm快速安装部署MySQL5.6以及主从设置

        本文链接:https://www.haomeiwen.com/subject/nfvulxtx.html