1. 下载并安装MySQL官方的 Yum Repository

未安装wget的执行以下命令安装
[root@iZwz9ck221fsfzqs3u88j4Z ~]# sudo yum install wget

[root@iZwz9ck221fsfzqs3u88j4Z ~]# cd /root
[root@iZwz9ck221fsfzqs3u88j4Z ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

下载的文件大概25KB的样子,然后就可以直接yum安装了
[root@iZwz9ck221fsfzqs3u88j4Z ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
[root@iZwz9ck221fsfzqs3u88j4Z ~]#
[root@iZwz9ck221fsfzqs3u88j4Z ~]#

如果报错:" 需要:libsasl2.so.2()(64bit) "

解决方法:

 

修改vim /etc/yum.repos.d/mysql-community.repo 源文件

[mysql57-community]
name=MySQL 5.7 Community Server
## baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/   
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

     下面就是使用yum安装MySQL了

[root@iZwz9ck221fsfzqs3u88j4Z ~]# yum -y install mysql-community-server


  这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。

出现这样的提示表示安装成功

2. MySQL数据库设置

2.1 首先启动MySQL

[root@iZwz9ck221fsfzqs3u88j4Z ~]# systemctl start  mysqld.service

    查看MySQL运行状态,运行状态如图:

[root@iZwz9ck221fsfzqs3u88j4Z ~]# systemctl status mysqld.service

2.2 此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

[root@iZwz9ck221fsfzqs3u88j4Z ~]# grep "password" /var/log/mysqld.log

上面标记的就是初始密码

进入数据库修改密码:

[root@iZwz9ck221fsfzqs3u88j4Z ~]# mysql -uroot -p     # 回车后会提示输入密码

输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';  #newpassword改为复杂密码,简单密码通过不了

修改为简单解决方案:先修改密码为规范复杂的密码,再修改密码规则再设置会简单密码即可
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
再修改为简单密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc-123';

 

2.3 增加远程访问账户(开放防火墙对应端口号3306):

mysql> grant all on *.* to root@'%' identified by 'abc-123';   #远程访问账户为root,密码为:abc-123

 

卸载yun Repository mysql自动更新(因为安装了Yum Repository,以后每次yum操作都会自动更新

[root@iZwz9ck221fsfzqs3u88j4Z ~]# yum -y remove mysql57-community-release-el7-10.noarch

 

2.4  配置mysql  logbin日志记录功能

vim /etc/my.conf

在文件my.cnf最后增加几行

#logbin配置
#有效期14天,当mysqld服务重启自动扫描删除过期文件
log_bin=mysql_bin
expire-logs-days = 14
max-binlog-size = 500M
binlog-format=Row
server-id=1

微信截图_20201012164841.png

 

 

这是我们开启了bin-log, 我们就必须指定我们的函数是否是
1 DETERMINISTIC 不确定的
2 NO SQL 没有SQl语句,当然也不会修改数据
3 READS SQL DATA 只是读取数据,当然也不会修改数据
4 MODIFIES SQL DATA 要修改数据
5 CONTAINS SQL 包含了SQL语句

其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。


MySQL中创建函数时出现这种错误的解决方法:
mysql> set global log_bin_trust_function_creators = 1;