vlambda博客
学习文章列表

打造个人直播间(三)卸载、重装mysql,创建直播用户表

00 前言

因为后台服务需要用到mysql数据库,但是因为之前安装过,密码又忘掉了,尝试了几种方法,发现都不能跳过密码登录,所以干脆把mysql卸载重装了。

环境:CentOS 7。

安装包:mysql 5.7。

01 卸载数据库

# 卸载mysql服务yum remove -y mysql mysql-server mysql-libs mysql-server;
# 删除所有mysql相关数据find / -name 'mysql*' | xargs rm -rf;

删除其余rpm包

rpm -qa|grep mysql# 查询出来的rpm使用yum remove掉或者使用rpm -e命令删除

查出内容如下

[root@hostone lib]# rpm -qa|grep mysqlmysql57-community-release-el7-8.noarchmysql-community-common-5.7.29-1.el7.x86_64

继续删除

rpm -e mysql57-community-release-el7-8.noarchrpm -e mysql-community-common-5.7.29-1.el7.x86_64

02 安装

下载安装包

# 创建mysql安装包存放文件夹mkdir -p /usr/local/src/mysql
# 进入目录cd /usr/local/src/mysql
# 下载5.7 安装包wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 配置安装依赖yum localinstall -y mysql57-community-release-el7-8.noarch.rpm
# 安装数据库yum install -y mysql-community-server
# 数据库启动systemctl start mysqld

03 登录

第一次启动,从mysqld.log中查看初始化密码

# 查看初始化密码grep 'temporary password' /var/log/mysqld.log

可以看到,查询密码如下

[root@hostone mysql]# grep 'temporary password' /var/log/mysqld.log 2020-02-18T21:46:40.622767Z 1 [Note] A temporary password is generated for root@localhost: p8)<7:geYY;-

使用【mysql -u root -p】命令登录,密码为p8)<7:geYY;-

[root@hostone mysql]# mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.29
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

登录成功,修改root密码

mysql> SET PASSWORD = PASSWORD('Db@369012');Query OK, 0 rows affected, 1 warning (0.00 sec)

可以看到,我的新密码为Db@369012。当然,我随后会把这个密码改掉。

04 创建数据库、用户及数据表

数据库终于搞定了,接着就要创建我们需要的数据表了。

# 查看数据库show databases;
# 创建一个新的数据库livecreate database live;
# 选择进入刚刚创建的live数据库use live;
# 查看mysql库下有哪些数据表,可以看到是空的show tables;
# 创建数据表create table user( id varchar(20), random_name varchar(50));

添加一个非root用户

# use mysql,创建用户live,并赋权GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON TUTORIALS.* TO 'live'@'%' IDENTIFIED BY 'Live@123';
# 给用户赋权指定数据库操作权限grant all privileges on live.* to 'live'@'%';
# 刷新权限FLUSH PRIVILEGES;

报错远程机器无法访问,"Host '183.160.28.242' is not allowed to connect to this MySQL server"。

修改访问权限

# 进入mysql DBuse mysql
# 修改host为%update user set host = '%';
# 再次查看select host, user from user;+------+---------------+| host | user |+------+---------------+| % | live || % | mysql.session || % | mysql.sys || % | root |+------+---------------+4 rows in set (0.00 sec)
# 更改host后,发现客户端还是无法连接,因为没有刷新权限FLUSH PRIVILEGES;

刷新权限后可以了。