在 CentOS 中安装 MySQL(无坑版)

news/2024/9/21 14:26:14/

1. 下载安装 MySQL yum 仓库

请按照自己的系统版本选择自己喜欢的 MySQL版本

uname -a
或者
lsb_release -a

MySQL yum 仓库地址:

https://repo.mysql.com/

CentOS 8
wget https://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm 
yum localinstall mysql80-community-release-el8-1.noarch.rpm

CentOS 7
wget https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm 
yum localinstall mysql80-community-release-el7-1.noarch.rpm

2. 安装 MySQL 8 社区服务器

执行以下命令安装 MySQL 8:

yum install mysql-community-server -y

3. 启动 MySQL 服务

使用以下命令启动 mysql 服务:

CentOS 8 或 CentOS 7

systemctl start mysql

4. 显示 root 用户的默认密码

安装 MySQL 8.0 时,会自动为 root 用户生成一个临时密码,并记录在日志文件里。请使用以下命令查看 root 用户的临时密码:

grep "A temporary password" /var/log/mysqld.log

这是输出:

[Note] A temporary password is generated for root@localhost: **************

重要!!!本地的临时密码是不同的。要根据此密码来更改 root 用户的密码。

5. MySQL 安全配置

执行以下 mysql_secure_installation 命令来保护 MySQL 服务器:

mysql_secure_installation

它会提示您输入 root 帐户的当前密码:

Enter password for user root:

输入上面的临时密码,然后按下回车键。将显示以下消息:

The existing password for the user account root has expired. Please set a new password.

New password:
Re-enter new password:

输入 root 用户的新密码和确认密码,不要告诉别人哦!!!

配置过程中它会提示配置一些安全选项,为了服务器的安全,应该选择 y。这些问题包括:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
删除匿名用户?(按 y|Y 表示是,任何其他键表示否):y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
禁止远程 root 登录?(按 y|Y 表示是,任何其他键表示否):y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
删除测试数据库并访问它?(按 y|Y 表示是,任何其他键表示否):y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
现在重新加载权限表?(按 y|Y 表示是,任何其他键表示否):y

6. MySQL 服务控制命令

安装完成后,MySQL 服务就会自动启动。我们可以通过以下几个命令查看 MySQL 服务的状态,启动、停止、重启 MySQL 服务器:

CentOS 8

查看 MySQL 服务器状态: systemctl status mysqld
启动 MySQL 服务器: systemctl start mysqld
停止 MySQL 服务器: systemctl stop mysqld
重启 MySQL 服务器: systemctl restart mysqld
配置 MySQL 服务器自启动: systemctl enable mysqld

7. 连接到 MySQL 服务

使用以下命令连接到 MySQL 服务器:

mysql -u root -p

然后根据提示输入 root 帐户的密码,并按 Enter 键。验证通过后,将显示以下输出,表示已经进入了 MySQL 的控制台:

mysql>

使用 SHOW DATABASES 显示当前服务器中的所有数据库:

mysql> show databases;

输出:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.05 sec)

上面显示的数据库,是 MySQL 服务器自带数据库。

8.远程连接

验证root用户是否允许远程登录

例如你的host主机IP是192.168.0.118,用如下命令在Linux主机上验证是否可以远程登录;

注意把密码换成你的MySQL数据库的实际root密码,IP换成你的实际主机地址。

[root@localhost ~]# mysql -uroot -p 密码 -h 192.168.0.118

Warning: Using a password on the command line interface can be insecure.
ERROR 1130 (HY000): Host ‘192.168.170.128’ is not allowed to connect to this MySQL server
报以上错误表示root用户名不能远程登录,按照以下步骤设置远程访问权限。

连接数据库

[root@localhost ~]# mysql -uroot -pcharles

mysql_169">选择mysql数据库

mysql> use mysql

设置访问权限

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

其中"*.*"代表所有资源所有权限, “‘root’@%”其中root代表账户名,%代表所有的访问地址。IDENTIFIED BY ‘密码’,换成数据库root用户的密码,WITH GRANT OPTION表示允许级联授权。

刷新访问权限表

mysql> FLUSH PRIVILEGES;

查看用户表验证是否添加成功

查询结果出现最后一行表示添加权限成功

mysql> SELECT User, Password, Host FROM user;
MySQL5.7以上使用这个!!!!!
select User,authentication_string,Host from mysql.user;

验证远程登录

执行如下语句,如果能成功连接上就证明远程登录可用。

[root@localhost ~]# mysql -uroot -p 密码 -h 192.168.0.118


http://www.ppmy.cn/news/1528434.html

相关文章

使用 Azure Functions 开发 Serverless 应用:详解与实战

使用 Azure Functions 开发 Serverless 应用:详解与实战 随着云计算的发展,Serverless(无服务器架构)已成为构建现代应用的重要模式。它能够让开发者专注于业务逻辑,而不需要关注底层的服务器管理、扩展等问题。Azure…

学习笔记 韩顺平 零基础30天学会Java(2024.9.16)

P563 自定义泛型方法 当调用方法时,要传入参数,因为当传入参数时,编译器就可以确定泛型代表的类型 泛型方法和方法使用了泛型是不一样的 泛型方法可以使用类声明的泛型,也可以使用自己的泛型 P564 泛型方法练习 P565 泛型的继承和…

[已更新前两问代码+全部建模]2024华为杯C题详细思路代码文章建模分享研究生数学建模竞赛数学建模研赛

截止9.21 12点 已更新问题一二的代码和全部内容的建模 下面我们会先进行代码讲解,之后给出全部内容的建模公式 ## https://docs.qq.com/doc/DVWhyZ1NFY01XcmNw基于磁通密度数据的特征提取与分类分析。 问题一代码详解 1. 导入必要的库 import pandas as pd import numpy as…

MATLAB绘图基础8:双变量图形绘制

参考书:《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。 8.双变量图形绘制 8.1 散点图 散点图用于显示两个变量间的关系,每个数据点在图上表示为一个点,一个变量在 X {\rm X} X轴,一个变量在 Y {\rm Y} Y轴&#…

Python 装饰器使用详解

文章目录 0. 引言1. 什么是装饰器?2. 装饰器的基本语法3. 装饰器的工作原理4. 常见装饰器应用场景4.1. 日志记录4.2. 权限校验4.3. 缓存 5. 多重装饰器的执行顺序6. 装饰器的高级用法6.1. 带参数的装饰器6.2. 使用 functools.wraps6.3. 类装饰器 7. 图示说明7.1. 单…

【笔记篇】Davinci Configurator MemIf模块

目录 1 简介1.1 架构概览2 功能描述2.1 内存架构2.2 初始化2.3 主函数2.4 故障处理3 集成3.1 静态文件3.2 动态文件4 API描述5 配置1 简介 本文主要描述了AUTOSAR MemIf模块的功能。 MemIf(内存抽象接口)为 NvM 提供了访问非易失性内存设备的接口。这里主要使用两种类型的非…

视频转音频,分享这六种转换操作

视频转音频,随着多媒体技术的发展,人们越来越频繁地需要将视频中的音频部分提取出来单独使用。无论是为了制作播客、获取音乐片段还是其他需求,视频转音频都是一项非常实用的技能。为了让你轻松应对各种场合的需求,下文将为你详细…

【Linux】解锁系统编程奥秘,高效文件IO的实战技巧

文件 1. 知识铺垫2. C文件I/O2.1. C文件接口2.2 fopen()与重定向2.3. 当前路径2.4. stdin、stdout、stderr 3. 系统文件I/O3.1. 前言3.2. open3.2.1. flags</h3>3.2.2. mode</h3>3.2.3. 返回值fd 3.3. write</h2>3.4. read3.5. close</h2>3.6. lseek&l…