• mysql5.7安装与主从复制


    一、      下载mysql5.7

    http://mirrors.sohu.com/mysql/MySQL-5.7/

    Linux下载:

    输入命令:wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

    二、      建立用户,以及mysql的目录

    1、         建立一个mysql的组

    输入命令: groupadd mysql

    2、         建立mysql用户,并放到mysql组

    输入命令:useradd -r -g mysql mysql

    3、         给mysql用户设置密码

    输入命令:passwd mysql

    三、      解压mysql

    1、         把下载的mysql的包移动到Linux虚拟机下

    2、         把tar包复制一份到/usr/local 目录下

    输入命令:mv /software/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz /usr/local


    3、         解压

    输入命令:cd /usr/local

    输入命令:tar xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

    4、         把解压出来的文件改下名字,改为mysql

    输入命令:mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql


    四、      配置相关的启动配置文件

    1、         复制my_default.cnf到/etc/my.cnf (mysql启动时自动读取)


    输入命令:cp my-default.cnf /etc/my.cnf


    2、         解决乱码问题

    输入命令:vi /etc/my.cnf

    更改:

    [mysql]

    default-character-set=utf8

    [mysqld]

    default-storage-engine=INNODB

    character_set_server=utf8

    3、         复制mysql.server 到/etc/init.d/

    输入命令:cp mysql.server /etc/init.d/mysql

    4、         修改 /etc/init.d/mysql 参数,给予2个目录位置

    输入命令:vi /etc/init.d/mysql

    更改:basedir=/usr/local/mysql

       datadir=/usr/local/mysql/data

    5、         给目录/usr/local/mysql 更改拥有者

    输入命令:chown -R mysql:mysql /usr/local/mysql/

    五、      初始化mysql的数据库

    1、         初始化数据库

    首先要去到mysql/bin目录下

    老版本的命令:mysql_install_db

    新版本的命令:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    生成出一个data目录,代表数据库已经初始化成功

    2、         给数据库加密

    输入命令:./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data


    3、         启动mysql

    输入命令:./mysqld_safe --user=mysql &

    &符号:把当前进程丢给后台
     

    六、      进入客户端

    1、         登录

    输入命令:./mysql -uroot -p

    然后输入你的临时密码

     

    2、         修改密码

    输入命令:set password=password('你的密码');


    七、      window远程访问Linux虚拟机的mysql

    1、         首先要关闭防火墙,这样window才能连接上

    输入命令:systemctl stop firewalld.service

    2、         给window授权

    输入命令: grant all privileges on *.* to root@'%' identified by '123456';

    3、         window远程连接

    输入命令:mysql –hIP地址 -uroot -p123456


    八、  设置开机自动启动mysql服务

    1、  添加服务mysql

    输入命令:chkconfig --add mysql

              

    2、  设置服务开机自启

    输入命令:chkconfig mysql on

    九、设置path环境变量

    输入命令:vi /etc/profile

    设置环境变量:export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH

     

    配置好环境变量后,我们就不用再去到/usr/local/mysql/bin目录才能登录了,现在可以在任意目录下登录mysql

    十、完成

          这样我们的mysql数据库就配置好了



    主从复制

    1.修改主服务器master:

     #vi /etc/my.cnf
           [mysqld]
           log-bin=mysql-bin   //[必须]启用二进制日志
           server-id=1      //[可以和IP最后一样] 服务器唯一ID,默认是1,一般取IP最后一段

    2.修改从服务器slave:

     #vi /etc/my.cnf
           [mysqld]
           log-bin=mysql-bin   //[不是必须]启用二进制日志
           server-id=2     //[可以和IP最后一样] 服务器唯一ID,默认是1,一般取IP最后一段


    3./etc/init.d/mysql restart//重启


    4.在主服务器上建立帐户并授权slave:

        mysql>use mysql      //使用

        select * from userG;//查看用户

        grant replication slave on *.* to 'mysync'@'10.101.110.%' identified by 'root';//设置所以ip都可以访问,也可以写固定ip

        flush privileges;//刷新

        mysql -umysync -p //进入mysql

        mysql -uroot -p //进入root

        mysql -uroot -p //查看状态

    5.操作从服务器

         use mysql;    //使用

        select * from userG;//查看用户

        stop slave; //停止主从复制服务

        show slave statusG;//查看状态是否ok
        
            Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
            显示OK;

    6.如果是克隆的虚拟机需要执行以下操作

      关闭防火墙   systemctl stop firewalld.service

            locate auto.cnf//查看auto.cnf 在那个位置

            //进入auto.cnf
            [auto]
            server-uuid=65936c91-b2db-11e7-89db-000c2916dc12
            
            的最后一位改变;
            
            mysql restart//重启

            show slave statusG;//查看状态是否ok

            Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
            显示OK;
      

  • 相关阅读:
    关于vue2.x使用axios以及http-proxy-middleware代理处理跨域的问题
    vue-resource的使用
    从头开始开发一个vue幻灯片组件
    图与例解读Async/Await
    浅谈web缓存
    APICloud框架——总结一下最近开发APP遇到的一些问题 (三)
    编写现代 CSS 代码的 20 个建议
    仿微信联系人列表滑动字母索引
    初来乍到,向各位大牛虚心学习
    转发80端口的脚本
  • 原文地址:https://www.cnblogs.com/zhang12138/p/7691821.html
Copyright © 2020-2023  润新知