一、背景
有一个物联网卡的项目需要分账,会涉及很多excel表格,运营商出具的明细表有卡的相关信息比如卡号、流量使用情况、费用、开卡日期等,但是没有分公司字段,现在需要卡号和分公司对应表关联,算出每家分公司的账单。这里使用mysql来实现,本文记录测试环境安装mysql5.7.37过程及遇到的报错问题解决。
二、Mysql安装
1.Repository下载
下载并安装MySQL官方的 Yum Repository
代码语言:javascript复制[root@node01 ~]# rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
2.Mysql安装源查看
查看当前可用的Mysql安装源
代码语言:javascript复制[root@node01 ~]# yum -y install mysql-community-server
3.安装Mysql数据库
代码语言:javascript复制[root@node01 ~]# yum -y install mysql-community-server
发现报错信息:“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
代码语言:javascript复制[root@node01 ~]# cd /etc/yum.repos.d/
[root@node01 /etc/yum.repos.d]# view mysql-community.repo
:%s/gpgcheck=1/gpgcheck=0/g
5.再次安装
代码语言:javascript复制[root@node01 /etc/yum.repos.d]# yum -y install mysql-community-server
安装完成
三、启动Mysql及重置密码
1.启动Mysql
代码语言:javascript复制[root@node01 /etc/yum.repos.d]# systemctl start mysqld.service
[root@node01 /etc/yum.repos.d]# systemctl enable mysqld.service
启动mysql并设置为开机自启
2.登陆Mysql
代码语言:javascript复制[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文件中自动生成一个密码,查看并登陆
3.密码规则修改
默认密码规则太复杂不容易记忆,现修改
代码语言:javascript复制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)
4.密码修改
代码语言:javascript复制mysql> set password = password('Mysql123');
登录数据库后需首先重置密码才能进行后续操作
至此完成mysql安装,后面可以愉快的使用了。
5.创建数据库zd
代码语言:javascript复制mysql> create database zd character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
6.创建用户loong576
代码语言:javascript复制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)
创建用户loong576并授予访问数据库zd的权限,然后重启数据库
7.连接授权
代码语言:javascript复制mysql> use mysql;
mysql> select host from user where user='loong576';
mysql> update user set host = '%' where user ='loong576';
mysql> FLUSH PRIVILEGES;
不然报错:
8.访问授权
代码语言:javascript复制mysql> UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='loong576';
mysql> flush privileges;
不然报错: Access denied for user 'loong576'@'%' to database 'zd'
四、客户端DBeaver连接
1.软件下载
登陆官网下载链接https://dbeaver.io/download/下载软件
2.创建连接
打开软件,选择MySQL
输入服务器地址和数据库名
下载驱动程序
完成数据库连接