centos7上快速安装mysql8.0

centos7上快速安装mysql

一:去官网查看最新安装包

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

二:下载MySQL源安装包

wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

在这里插入图片描述

安装MySql源

yum -y install mysql80-community-release-el7-3.noarch.rpm

在这里插入图片描述

查看一下安装效果

yum repolist enabled | grep mysql.*

在这里插入图片描述

三:安装MySQL服务器

yum install mysql-community-server

在这里插入图片描述

选择y就行

在这里插入图片描述

再选择y,继续等待
在这里插入图片描述

完成!!!

四:启动MySQL服务

systemctl start mysqld.service

运行一下命令查看一下运行状态

systemctl status mysqld.service

在这里插入图片描述

五:初始化数据库密码

查看一下初始密码

grep “password” /var/log/mysqld.log

在这里插入图片描述

登录

mysql -uroot -p

在这里插入图片描述

修改密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘****************’;

mysql默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误

​ validate_password_policy:密码安全策略,默认MEDIUM策略

在这里插入图片描述

修改策略(将策略要求置为LOW,长度要求置为1)

set global validate_password_policy=0;
set global validate_password_length=1;
MySQL 5.7 进行如下设置,即可解决问题:
mysql>  set global validate_password_policy=0;
mysql> set global validate_password_length=1;
MySQL 8.0 执行代码:
mysql>  set global validate_password_policy=0;
ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
 
mysql> set global validate_password_length=1;
ERROR 1193 (HY000): Unknown system variable 'validate_password_length'

MySQL 8.0 调整密码验证规则:

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)

修改密码:

mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.01 sec)

六:数据库授权

数据库没有授权,只支持localhost本地访问

mysql> grant all privileges on *.*  to  'root'@'%'  identified by 'root'  with grant option;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'root'  with grant option' at line 1

注意:8.0授权方式不一样 不能授权给自己

mysql> grant all privileges on *.*  to  'root'@'%'  identified by 'root'  with grant option;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'root'  with grant option' at line 1

方法一:先创建一个其他用户

<br>mysql> create user 'brady'@'%' identified by 'brady';
Query OK, 0 rows affected (0.02 sec)
 
mysql>
mysql>
mysql> grant all privileges on *.*  to  'brady'@'%'  identified by 'brady'  with grant option;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'brady'  with grant option' at line 1
mysql> GRANT ALL PRIVILEGES ON *.* TO 'brady'@'%';
Query OK, 0 rows affected (0.04 sec)
 
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
 
mysql> ALTER USER 'brady'@'%' IDENTIFIED WITH mysql_native_password BY 'brady';
Query OK, 0 rows affected (0.02 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

//远程连接数据库的时候需要输入用户名和密码
用户名:root
密码:123456
指点ip:%代表所有Ip,此处也可以输入Ip来指定Ip

方法二:也可以通过修改表来实现远程

    mysql -u root -p

    mysql> use mysql; 
    mysql> update user set host = '%' where user = 'root'; 
    mysql> select host, user from user;

输入后使修改生效还需要下面的语句

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

注意:如果用Navicat连接的回报不支持caching_sha2_password验证方式的错误。

将远程访问用户的验证方式改为: msyql_native_password

在这里插入图片描述
执行:

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)

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

七:防火墙设置

>>> CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

1、直接关闭防火墙

systemctl stop firewalld.service     #停止firewall
systemctl disable firewalld.service  #禁止firewall开机启动

2、设置 iptables service

yum -y install iptables-services

如果要修改防火墙配置,如增加防火墙端口3306

vi /etc/sysconfig/iptables 

增加规则

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存退出后

systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

七:设置自动启动

systemctl enable mysqld

systemctl daemon-reload
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值