1、卸载mariadb
rpm -qa|grep mariadb // 查询出来已安装的mariadb
rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的值
2、选择mysql版本,wget拉到指定mysql目录(mysql历史版本:https://downloads.mysql.com/archives/community/)
mkdir mysql //新建mysql目录
cd mysql //进入mysql目录
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
//wget不指定目录的话,默认是当前目录
3、解压tar包
tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar //解压到当前目录
使用ls命令可以看到解压结果:
复制代码
[root@iZxlrhg8f9v342Z mysql]# ls
mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar mysql-community-libs-5.7.20-1.el7.x86_64.rpm
mysql-community-client-5.7.20-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.20-1.el7.x86_64.rpm
mysql-community-common-5.7.20-1.el7.x86_64.rpm mysql-community-minimal-debuginfo-5.7.20-1.el7.x86_64.rpm
mysql-community-devel-5.7.20-1.el7.x86_64.rpm mysql-community-server-5.7.20-1.el7.x86_64.rpm
mysql-community-embedded-5.7.20-1.el7.x86_64.rpm mysql-community-server-minimal-5.7.20-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.20-1.el7.x86_64.rpm mysql-community-test-5.7.20-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.20-1.el7.x86_64.rpm
复制代码
4、使用rpm命令安装(顺序:common、libs、libs-compat、client、server),逐一执行。
rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
如果使用rpm安装过程中报error: Failed dependencies:libaio.so.1
则先添加 libaio.so.1,然后再从报错地方重新开始。
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
//拉libaio.so.1安装包
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
//安装libaio.so.1
安装完成后,可使用rpm -qa | grep mysql 查看。
5、配置mysql binlog配置
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
tmpdir=/var/lib/mysql/temp/
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server=utf8
server-id=1
log-bin=/var/lib/mysql/mysql-bin
#binlog_format为ROW,且binlog_row_image为full或noblog,默认为full
然后让其立即生效
source /etc/profile
6、启动mysql服务
启动:service mysqld start
停止:service mysqld stop
重启:service mysqld restart
查看mysql 启动错误日志
tail -n500 /var/log/mysqld.log|grep -E 'Warning|ERROR'
7、查看自动生成的临时密码 grep 'temporary password' /var/log/mysqld.log ,并使用该密码登录。
8、修改mysql密码 此处可能需要更改mysql的密码策略
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
9、允许远程链接,进入mysql
mysql> grant all privileges on . to root@'%'identified by '远程密码';
mysql> flush privileges;
10、开启3306端口,或者关闭防火墙,我是虚拟机环境且自己用的,我直接关了防火墙。
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
11、rpm安装mysql的默认路径如下:
数据文件:/var/lib/mysql/
配置文件模板:/usr/share/mysql
客户端工具目录:/usr/bin
日志目录:/var/log/pid
sock文件目录:/tmp/
一般配置文件会放置在/etc下
12、安装binlog2sql
安装binlog2sql前先安装git和pip:
yum -y install epel-release
yum -y install git python-pip
安装binlog2sql:
git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
####python 安装 此处不做介绍
注意目录 需要在requirements.txt的对应目录下安装
pip install -r requirements.txt
看见网上说的都要授权 用root账户也可以 只要权限够
select, super/replication client, replication slave
建议授权
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO
python binlog2sql.py -h47.106.194.4 -P3306 -uroot -p'密码' -d dblog -t sys_log --start-file=mysql-bin.000002 > something.sql
python binlog2sql.py -h47.106.194.4 -P3306 -uroot -p'密码' -d dblog -t sys_log --start-file=mysql-bin.000002 > something.sql
python binlog2sql.py --flashback -h47.106.194.4 -P3306 -uroot -p'密码' -d dblog -t sys_log --start-file=mysql-bin.000002 --start-position=499924 --stop-pos=508282 > sys_log.sql
参数解释:
-h:数据库服务地址
-u:连接用户名
-P:端口
-p:密码
-d:数据库名
-t:表名
--start-file: 通俗的来讲就是,要解析sql的所在的binglog文件 对应第十步的数据安装文件 需要注意生成文件的时间段
--flashback: 闪回,逆向解析sql语句
参考 https://github.com/danfengcao/binlog2sql
版权声明: 本站原创文章,于 2020年01月10日 由 曾少 发布,转载请注明出处