mysql8.0的RPM方式安装

1. 下载

https://dev.mysql.com/downloads/

使用wget下载yum的源信息:

wget -i -c https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

或者直接下载rpm安装包

链接地址:
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-8.0.26-1.el7.x86_64.rpm

注意都是rpm结尾,但是文件大小相差比较大,yum源的rpm安装包只有几十K,真正的RPM安装包是几百兆。

2. 安装

2.1卸载历史版本mysql以及mariadb

# 查询
rpm -qa|grep mysql
rpm -qa|grep mariadb
# 移除
rpm -ev [需要移除组件的名称]
rpm -e --nodeps [需要移除组件的名称]  //此命令为强制卸载
# 或者用yum移除
yum remove 

2.2 使用yum源信息安装

# repo的安装,执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
cd /etc/yum.repos.d/
# 注意:必须进入到/etc/yum.repos.d/目录后再使用yum命令进行安装
yum -y install mysql-server


# 如果报错误Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY,加上force和nodeps参数即可
# 例如:
rpm -ivh mysql-community-server-8.0.25-1.el8.x86_64.rpm --force --nodeps

2.3 使用rpm直接安装

如果报错误Header V3 DSA/SHA256 Signature, key ID 5072e1f5: NOKEY,加上force和nodeps参数

安装服务端:

rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm --force --nodeps

安装客户端:

rpm -ivh rpm包
* 安装common包
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
* 安装类库
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm --force --nodeps
* 安装客户端(前两个是其依赖)
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm

2.4 查看安装后的信息

# 查看服务状态,可能没启动
systemctl status mysqld

# 启动服务
systemctl start mysqld

cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
mysqladmin --version

2.5 初始化mysql

# 创建数据文件目录和mysql系统数据库 产生随机root密码
mysqld --initialize

查看初始密码:

cat /var/log/mysqld.log | grep password
或
grep 'temporary password' /var/log/mysqld.log

修改密码:没有经过测试。

复制 root@localhost: 后面的密码。登录mysql,并粘贴默认密码
因为MySQL8.0的更改,导致必须要重置密码
alter user 'root'@'localhost' identified by '12345678';
如果设置密码时候出现提示

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

代表需要降低policy的等级后在执行

set global validate_password.policy=0;
开启MySQL远程连接


use mysql;
#修改root账户权限
update user set host = '%' where user = 'root';
#刷新权限
flush privileges;

2.6 安全设置

mysql_secure_installation

# 提示如下步骤:
1. 输入初始密码;
2. 提示root密码过期,需要修改密码,这是mysql8的提示,输入两次密码确认;
3. 提示是否更改root密码,这步其实重复了;
4. 是否删除匿名用户,建议删除;
5. 是否禁用root账户的远程登录,建议禁用,即mysql的root只可以本机登录;
6. 是否删除test数据库,建议删除;
7. 是否重新加载权限表,选y。

2.7 mysql登录

# 输入刚才修改后的密码
mysql -uroot -p 

2.8 重置密码(Mysql8.0+有变化)

先把root的旧密码置空(这个步骤可以不做)

use mysql;
update user set authentication_string='' where user='root';
# 备注:Mysql5.7+ password字段 已改成 authentication_string字段

重置成新密码:

alter user 'root'@'localhost' identified by 'newpassword';
# 备注:Mysql8.0修改密码方式已有变化(此处是个坑,需要注意)
# Mysql8.0之前:
update user set password=password('root') where user='root';

重新登录:

mysql -uroot -pnewpassword

2.9 如何停止、重启和查看mysql服务

systemctl stop mysqld //停止服务
systemctl restart mysqld //重启服务
systemctl status mysqld //查看服务

2.10 mysql相关目录

# 相关命令
/usr/bin 

# 配置文件目录
/usr/share/mysql

# 数据库文件存放目录
/var/lib/mysql

# mysql的启动配置文件
/etc/my.cnf 

其他:

my.ini # windows操作系统下的配置文件
my.cnf # linux操作系统下的配置文件
mysqld # 是后台守护进程,即mysql daemon
mysql # 是客户端命令行

3. 创建用户和数据库

3.1 创建用户

用户名:wood,密码:PWDwooddb_2021,可以从任何地址登入。

create user 'wood'@'%' identified by 'PWDwooddb_2021'

3.2 创建数据库wood_db;

create database wood_db;

3.3 授权

常用授权语句

GRANT 权限 ON 数据库.表单名称 TO 用户名@主机名    对某个特定数据库中的特定表单给予授权。
GRANT 权限 ON 数据库.* TO 用户名@主机名    对某个特定数据库中的所有表单给予授权。
GRANT 权限 ON *.* TO 用户名@主机名    对所有数据库及所有表单给予授权。
GRANT 权限1,权限2 ON 数据库.* TO 用户名@主机名    对某个数据库中的所有表单给予多个授权。
GRANT ALL PRIVILEGES ON *.* TO 用户名@主机名    对所有数据库及所有表单给予全部授权。

授权wood用户所有wood_db的权限

 grant all on wood_db.* to 'wood'@'%';

查看用户授权

show grants for wood@'%';
+---------------------------------------------------+
| Grants for wood@%                                 |
+---------------------------------------------------+
| GRANT USAGE ON *.* TO `wood`@`%`                  |
| GRANT ALL PRIVILEGES ON `wood_db`.* TO `wood`@`%` |
+---------------------------------------------------+
2 rows in set (0.00 sec)

如果修改没有生效,考虑使用flush privileges命令刷新权限信息。

posted @ 2021-07-28 20:09  我是属车的  阅读(4236)  评论(0编辑  收藏  举报