一、背景

有一个物联网卡的项目需要分账,会涉及很多excel表格,运营商出具的明细表有卡的相关信息比如卡号、流量使用情况、费用、开卡日期等,但是没有分公司字段,现在需要卡号和分公司对应表关联,算出每家分公司的账单。这里使用mysql来实现,本文记录测试环境安装mysql5.7.37过程及遇到的报错问题解决。

二、Mysql安装

1.Repository下载

下载并安装MySQL官方的 Yum Repository

[root@node01 ~]# rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

image20220121104447016.png

2.Mysql安装源查看

查看当前可用的Mysql安装源

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

image20220121104526980.png

3.安装Mysql数据库

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

image20220121104615585.png

image20220121104651393.png

发现报错信息:“mysql-community-libs-5.7.37-1.el7.x86_64.rpm 的公钥尚未安装”、“败的软件包是:mysql-community-libs-5.7.37-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql”

4.问题解决

修改mysql-community.repo,将gpgcheck的值由1更改为0

[root@node01 ~]# cd /etc/yum.repos.d/
[root@node01 /etc/yum.repos.d]# view mysql-community.repo

:%s/gpgcheck=1/gpgcheck=0/g

5.再次安装

[root@node01 /etc/yum.repos.d]# yum -y install mysql-community-server 

image20220121105123887.png

安装完成

三、启动Mysql及重置密码

1.启动Mysql

[root@node01 /etc/yum.repos.d]# systemctl start mysqld.service
[root@node01 /etc/yum.repos.d]# systemctl enable mysqld.service

image20220121105351832.png

启动mysql并设置为开机自启

2.登陆Mysql

[root@node01 /etc/yum.repos.d]# cat /var/log/mysqld.log | grep password
2021-11-16T22:22:00.344286Z 1 [Note] A temporary password is generated for root@localhost: k8lB2OCPof+6

安装好后,会在my.cnf文件中自动生成一个密码,查看并登陆

image20220121105633025.png

3.密码规则修改

默认密码规则太复杂不容易记忆,现修改

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

image20220121105932233.png

4.密码修改

mysql> set password = password('Mysql123');

image20220121110024073.png

登录数据库后需首先重置密码才能进行后续操作

至此完成mysql安装,后面可以愉快的使用了。

5.创建数据库zd

mysql> create database zd character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

6.创建用户loong576

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON zd.* TO loong576@'%' identified by 'Loong576!';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

image20220121162638993.png

创建用户loong576并授予访问数据库zd的权限,然后重启数据库

7.连接授权

mysql> use mysql;
mysql> select host from user where user='loong576';
mysql> update user set host = '%' where user ='loong576';
mysql> FLUSH PRIVILEGES;

image20220121153813878.png

不然报错:

image20220121152325022.png

8.访问授权

mysql> UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='loong576';
mysql> flush privileges;

image20220121154307040.png

不然报错: Access denied for user 'loong576'@'%' to database 'zd'

image20220121154334011.png

四、客户端DBeaver连接

1.软件下载

登陆官网下载链接https://dbeaver.io/download/下载软件

2.创建连接

image20220121145728139.png

打开软件,选择MySQL

image20220121145752525.png

image20220121152115566.png

输入服务器地址和数据库名

image20220121152221939.png

下载驱动程序

image20220121153538439.png

完成数据库连接