码迷,mamicode.com
首页 > 数据库 > 详细

mysql5.7安装与主从复制

时间:2017-10-19 14:08:29      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:win   systemctl   firewalld   select   glib   版本   一段   locate   kconfig   

一、      下载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 user\G;//查看用户

    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 user\G;//查看用户

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

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

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

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

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

        show slave status\G;//查看状态是否ok

        Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
        显示OK;
    

    





mysql5.7安装与主从复制

标签:win   systemctl   firewalld   select   glib   版本   一段   locate   kconfig   

原文地址:http://www.cnblogs.com/zhang12138/p/7691821.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!