打造个人直播间(三)卸载、重装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 mysql
mysql57-community-release-el7-8.noarch
mysql-community-common-5.7.29-1.el7.x86_64
继续删除
rpm -e mysql57-community-release-el7-8.noarch
rpm -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 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server 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 its
affiliates. Other names may be trademarks of their respective
owners.
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;
# 创建一个新的数据库live
create 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 DB
use 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;
刷新权限后可以了。