首页 > 数据库 >Centos7 安装MySQL详细步骤

Centos7 安装MySQL详细步骤

时间:2023-11-20 14:56:01浏览次数:32  
标签:iptables 步骤 MySQL FirewallD Centos7 mysql password root

1.1 MySQL安装
1.1.1 下载wget命令

yum -y install wget

1.1.2 在线下载mysql安装包

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

1.1.3 安装MySQL

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

image

1.1.4 安装mysql服务
首先进入cd /etc/yum.repos.d/目录。

cd /etc/yum.repos.d/

image

安装MySQL服务(这个过程可能有点慢)40分钟

yum -y install mysql-server

image

linux安装MySQL时报错:
image

原因:MySQL GPG 密钥已过期导致

解决办法:执行一下命令,解决

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum -y install mysql-server

1.1.5 启动MySQL

systemctl start mysqld

1.2 修改MySQL临时密码
MySQL安装成功后会有一个临时密码,我们可以使用grep命令查看临时密码先登录进去MySQL,然后修改MySQL密码。

1.2.1 获取MySQL临时密码image

grep 'temporary password' /var/log/mysqld.log

1.2.2 使用临时密码先登录

mysql -uroot -p

我的临时密码是:a22XRJ88=+a;

1.2.3 把MySQL的密码校验强度改为低风险

set global validate_password_policy=LOW;

1.2.4 修改MySQL的密码长度

set global validate_password_length=5;

1.2.5 修改MySQL密码为admin

ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin'; 

下面是在CentOS 7上安装MySQL并设置默认密码的步骤

$ sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): [Press Enter]
Set root password? [Y/n]: Y
New password: [Enter new password]
Re-enter new password: [Repeat password]
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y 
Reload privilege tables now? [Y/n]: Y

1.3 允许远程访问
1.3.1 首先要关闭Cenots的防火墙

sudo systemctl disable firewalld

1.3.2 修改MySQL允许任何人连接
1)首先登录MySQL

mysql -uroot -p admin

2)切换到mysql数据

use mysql;

3)查看user表

select Host,User from user;

image

发现root用户只允许localhost主机登录登录

4)修改为允许任何地址访问

update user set Host='%' where User='root';

5)刷新权限

flush privileges;
  1. 将MySQL注册为服务
cp support-files/mysql.server /etc/init.d/mysqld

chkconfig --add

mysqld chkconfig mysqld on

service mysqld restart(重启)

service mysqld status (状态)

mysql数据库在Centos7下无法远程连接的原因以及解决详解

有两种原因

数据库没有授权

服务器防火墙没有开放3306端口

一、数据库没有授权

对于mysql数据库没有授权,只需要用一条命令就可以了。

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

//远程连接数据库的时候需要输入用户名和密码

用户名:root

密码:123456

指点ip:%代表所有Ip,此处也可以输入Ip来指定Ip

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

mysql>FLUSH PRIVILEGES;

二、服务器防火墙没有开放3306端口

centos 有两种防火墙 FirewallD和iptables防火墙

centos7 使用的是FirewallD防火墙。

FirewallD 是 iptables 的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:

1.FirewallD 使用区域和服务而不是链式规则。

2.它动态管理规则集,允许更新规则而不破坏现有会话和连接。

FirewallD 是 iptables 的一个封装,可以让你更容易地管理 iptables 规则 - 它并不是 iptables 的替代品。虽然 iptables 命令仍可用于 FirewallD,但建议使用 FirewallD 时仅使用 FirewallD 命令。

1.FirewallD防火墙开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent

命令含义:

--zone #作用域

--add-port=3306/tcp #添加端口,格式为:端口/通讯协议

--permanent #永久生效,没有此参数重启后失效

重启防火墙

systemctl restart firewalld.service
2.iptables 开发3306端口
/sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save

可以使用 mysql_secure_installation 命令修改密码

标签:iptables,步骤,MySQL,FirewallD,Centos7,mysql,password,root
From: https://www.cnblogs.com/sili-future/p/17843939.html

相关文章

  • 关于视频点播平台EasyDarwin视频直播平台如何上传点播视频的具体操作步骤
    EasyDarwin互联网视频云服务通过其高效的视频管理功能和广泛适用性,为用户提供稳定、流畅的视频服务,广泛应用于各种互联网场景。应用场景包括电视直播、现场直播、时移电视、即刻回看和视频点播功能,适用于OTTTV、IPTV、互联网教育、视频聊天、现场直播和VOD等各种场景应用。E......
  • MySQL事务
    事务的基础知识1.数据库事务概述事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库中的数据始终保持一致性,同时我们还能通过事务的机制恢复到某个时间地点的数据,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。1.1存储引擎的支持情况查询当......
  • Centos7安装Redis(超详细)
    ​Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。​下载地址:https://github.com/microsoftarchive/redis/re......
  • MySQL和Oracle 对比
    MySQL和Oracle是两种常见的关系型数据库管理系统(RDBMS),它们在功能、性能和适用场景等方面有一些区别。以下是MySQL和Oracle之间的一些比较:开源vs.商业:MySQL是一种开源数据库,可以免费使用,而Oracle是一种商业数据库,需要购买许可证才能使用。这使得MySQL在初创公司和小型项目中更......
  • MySQL最大连接数
    MySQL最大连接数MySQL最大连接数通常MySQL的最大连接数默认是151最大可以达到16384。查看mysql最大连接数:showvariableslike'%max_connections%’;查看当前实际最大使用连接数:showglobalstatuslike'Max_used_connections';实际连接数是最大连接数的85%较为合......
  • GreatSQL社区与Amazon、Facebook、Tencent共同被MySQL致谢
    一、来自MySQL官方的感谢在2023-10-25MySQL官方发布的8.2版本ReleaseNotes中,GreatSQL社区核心开发者RichardDang和HaoLu,分别收到了来自MySQL官方的贡献感谢,与Amazon、Facebook(Meta)、Tencent等一并出现在感谢清单中。详见:MySQL8.2ReleaseNotes/Chang......
  • LNMP一键安装包安装的mysql远程连接不上的问题
    正常的做法: 以root用户登录mysql:grant all privileges on*.* to创建的用户名@"%"identified by "密码";flushprivileges;例如:mysql>grant all privileges on*.* tozhangsan@"%"identified by "123456";......
  • 常见面试题-MySQL的Explain执行计划
    了解Explain执行计划吗?答:explain语句可以帮助我们查看查询语句的具体执行计划。explain查出来的各列含义如下:id:在一个大的查询语句中,每个select关键字都对应一个唯一的idselect_type:select关键字对应的那个查询的类型simple:简单查询。表示查询不包含子查询和unionprimary:复......
  • MySQL安装、卸载与初始化
    一、MySQL简介1、MySQL是什么MySQL是一款安全、跨平台、高效的,并与PHP、Java等主流编程语言紧密结合的关系型数据库管理系统。MySQL的象征符号是一只名为Sakila的海豚,代表着MySQL数据库的速度、能力、精确和优秀本质。图片:  MySQL已成为当今主流且最受欢迎的数......
  • mysql巡检脚本sql补充
    --没有主键索引mysql[localhost:8028]{root}(test)>SELECTt.table_schema,t.table_name,t.engine->FROMinformation_schema.tablest->JOINinformation_schema.columnsc->ONt.table_schema=c.table_schema->ANDt.table_name=c.......