Ubuntu16.04 安装Mysql5.7 及开启log-bin

1. Mysql的安装及开启log-bin

1.1. Mysql的安装

Mysql的安装可采用apt-get,安装很简单。
来源:https://blog.csdn.net/weixin_42209572/article/details/98983741

  1. 安装Mysql:
    1. 更新软件源:apt-get update
    2. 安装Mysql:apt-get install mysql-server
      1. 安装期间会要求为root填些密码,填写即可;
  2. 启动和关闭Mysql:
    1. 启动:service mysql start
    2. 关闭:service mysql stop
  3. 确认是否启动成功:
    1. 节点是否处于LISTEN状态:netstat -tap | grep mysql
  4. 进入mysql shell界面:
    1. 使用root账号登录:mysql -u root -p,再输入密码即可;
  5. 可能需要解决使用sqoop导入中文的问题:
    1. 第一步:进入mysql shell界面;
    2. 第二步:输入show variables like "char%";,确认返回的character_set_server=latin1,如果是,则需要修改;
    3. 第三步:修改办法,vi /etc/mysql/mysql.conf.d/mysqld.cnf,在[mysqld]下面添加一行character_set_server=utf8,然后重启Mysql服务即可service mysql restart
    4. 第四步:重复第二步确认已修改成功;
  6. 外网连接数据库的配置:
    1. 配置阿里云的安全规则,放开3306窗口;
    2. 在配置好1之后,外网连接数据库会返回Host x.x.x.x is not allowed to connect to this MySQL server,此时需要登陆Mysql Shell界面,更改其内设置:
      1. 查看数据库:show databases;
      2. 进入mysql表:use mysql;
      3. 更新root账号的连接权限:update user set host='%' where user='root';(因为数据库默认设置只允许本地程序进行连接,即host='localhost',为了让其它主机也可以访问,需要将其更改为host='%';

1.2. log-bin的开启

1.3. log-bin的作用

  1. 记录数据库的增删改操作;
  2. 根据log-bin进行回滚(本质上是依赖于1);

1.4. 个人开启log-bin的原因

  1. 结合数据仓库的Stage层使用,读取业务层Mysql的log-bin,获取增删改记录;
    1. 为什么要采用读取业务层Mysql的log-bin的方法:因为实际生产中,数仓的Stage层需要从业务层获取数据,如果直接去访问业务层数据库,会增加业务层数据库的计算消耗,故采取此种直接读文件的方法;

1.5. 开启的方法

特别注意:为了开启log-bin,我查阅了不少资料,并且均测试过,均未能成功,报错的原因有几种,主要的是Job for mysql.service failed because the control process exited with error code.,后面自己尝试出以下这种方法。因为个人认为开启log-bin应该跟系统版本,Mysql版本,安装方法相关,所以使用前先确认这两者跟我的一样,我的是Mysql5.7.31-0ubuntu0.16.04.1,采取的方法如上。

开启方法的思路来源于Mysql安装的第5步

    1. 进入mysql shell界面,,输入show variables like "%log_bin%";,会看到如图画面,表示还没有开启bin-log;[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5K3m4o36-1600180034354)(./files/mysql开启bin-log1.jpg)]
    2. 输入vi /etc/mysql/mysql.conf.d/mysqld.cnf,从文件中可以找到#server-id = 1#log_bin=/var/log/mysql/mysql-bin.log,将注释取消即可(server-id必须在集群中是唯一值,如果是单机,则可随意设置);
    3. 可以根据自己的需要更改expire_logs_daysmax_binlog_size的值;
    4. 重复1,确认log_bin=ON,且log_bin_basenamelog_bin_index均有值,则表示已成功开启;
posted @ 2020-12-03 19:25  桑中子衿  阅读(375)  评论(0编辑  收藏  举报