Centos7下安装和配置MySQL5.7.20的详细教程

下面是详细的“Centos7下安装和配置MySQL5.7.20的详细教程”。

1. 安装MySQL

1.1 下载MySQL软件包

从MySQL官方网站下载MySQL 5.7.20的版本压缩包,下载地址为 https://dev.mysql.com/downloads/mysql/5.7.html 。

建议下载“Generic Linux (Architecture Independent), Compressed TAR Archive”版本,该版本可在绝大多数Linux发行版下使用。

1.2 解压MySQL软件包

下载后解压缩MySQL压缩包到指定目录,例如:

tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

解压后将得到一个名为mysql-5.7.20-linux-glibc2.12-x86_64的文件夹。

1.3 创建MySQL数据目录和日志文件

MySQL需要一个数据目录和几个日志文件来工作。在安装前,需要创建这些必要的目录,例如:

mkdir -p /data/mysql/data
mkdir -p /usr/local/mysql/log
touch /usr/local/mysql/log/mysql_error.log

1.4 创建MySQL用户和用户组

创建MySQL用户和用户组,例如:

groupadd mysql
useradd -g mysql mysql

1.5 初始化MySQL

在解压后的MySQL目录下,进行初始化操作,例如:

cd /usr/local/mysql-5.7.20-linux-glibc2.12-x86_64
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.20-linux-glibc2.12-x86_64 --datadir=/data/mysql/data

这个过程会生成一个随机密码,该密码可以在日志文件/usr/local/mysql/log/mysql_error.log中查看。

1.6 启动MySQL

通过命令启动MySQL服务,例如:

./bin/mysqld_safe --user=mysql &

1.7 设置MySQL密码

MySQL初始化完成后,需要修改超级管理员root的密码,例如:

./bin/mysql -uroot -p
Enter password:

接着执行以下SQL语句来设置密码:

UPDATE mysql.user SET Password=PASSWORD('newpassword') WHERE User='root';
FLUSH PRIVILEGES;

其中newpassword为新密码,可根据实际情况修改。

至此,MySQL安装和初始化完成。

2. 配置MySQL

2.1 配置MySQL字符集

打开MySQL配置文件/etc/my.cnf,将[mysqld][client]两个段下的default-character-set参数设置为utf8mb4,例如:

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

[client]
default-character-set=utf8mb4

保存并退出,重启MySQL服务。

示例:

sudo vi /etc/my.cnf # 进入vi编辑器
# 在[mysqld]和[client]下添加如上内容
:wq # 保存并退出
sudo systemctl restart mysqld # 重启MySQL服务

2.2 配置MySQL远程连接

默认情况下,MySQL只允许本地连接。若需要进行远程连接,则需要在MySQL配置文件中/etc/my.cnf添加以下内容:

[mysqld]
bind-address=0.0.0.0

在MySQL服务中启用远程访问,可以使用以下SQL语句:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

其中password为对应的root用户的密码。

示例:

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# 在[mysqld]段下添加 bind-address=0.0.0.0
:wq # 保存并退出
sudo mysql -uroot -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

至此,MySQL的配置完成。

示例

示例1:创建一个新用户并授予全部权限

GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

其中newuser为要新建的用户名,password为该用户的密码。

示例2:创建一个新的数据库

登录MySQL后执行以下SQL语句来创建一个新的数据库:

CREATE DATABASE newdatabase;

其中newdatabase为数据库的名称。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos7下安装和配置MySQL5.7.20的详细教程 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Linux下为Node.js程序配置MySQL或Oracle数据库的方法

    下面是“Linux下为Node.js程序配置MySQL或Oracle数据库的方法”的完整攻略。 1. 安装MySQL或Oracle数据库 在Linux上为Node.js程序配置MySQL或Oracle数据库,第一步就是在服务器上安装对应的数据库软件。在这里,我将以MySQL为例,介绍安装的方法。 1.1 安装MySQL 在终端中输入以下命令进行安装: sud…

    database 2023年5月22日
    00
  • Oracle按身份证号得到省市、性别、年龄的示例代码

    下面就为你介绍如何使用身份证号获取省市、性别、年龄的示例代码: 实现思路 通过正则表达式获取身份证号的前六位,即省市代码; 将省市代码与省市名称的映射关系保存在字典中,根据省市代码从字典中获取省市名称; 根据身份证号的第17位确定性别,奇数为男性,偶数为女性; 根据身份证号的前六位和出生日期计算年龄。 实现代码 def get_local_info(id_n…

    database 2023年5月22日
    00
  • Redis大key多key拆分实现方法解析

    Redis大key多key拆分实现方法解析 什么是Redis的大key? Redis中的key是用来标识唯一数据的名称。在Redis中,一个大key通常表示一个包含了大量相关数据的键值对的集合。如果大key很大,那么这个键值对会占用较多的内存和CPU资源,同时也会影响查询速度,导致Redis性能下降。 Redis大key的解决方案 我们可以将一个大的key拆…

    database 2023年5月22日
    00
  • Oracle在PL/SQL中嵌入SQL语句

    嵌入SQL语句是PL/SQL中最重要的特性之一,它允许我们使用SQL来操作关系型数据库。要在PL/SQL中嵌入SQL语句,需要使用SQL语句的执行命令EXECUTE IMMEDIATE或SELECT INTO语句。 一、使用 EXECUTE IMMEDIATE 命令执行 SQL 语句 执行一个简单的SQL查询 DECLARE v_salary NUMBER(…

    database 2023年5月21日
    00
  • 数据仓库和在线事务处理 (OLTP) 的区别

    数据仓库和在线事务处理(OLTP)是两种不同的数据处理方式。OLTP用于日常业务的数据处理,它处理的是交易数据,例如:订单、库存、客户信息、账单等。OLTP处理这些数据的速度非常快,通常需要在几毫秒内对一条数据进行读/写操作。OLTP系统的主要特点是高并发性、实时性和事务性。 数据仓库则用于维护大量历史数据,主要用于数据分析和报告生成。数据仓库存储的数据通常…

    database 2023年3月27日
    00
  • 一文告诉你Sql的执行顺序是怎样的

    一文告诉你Sql的执行顺序是怎样的 什么是Sql执行顺序 Sql执行顺序是指Sql语句执行时的顺序,它由多个步骤组成,每个步骤都有一个特定的执行顺序。正确理解Sql执行顺序对于Sql语句的编写和调试是非常重要的。 下面是Sql执行的主要顺序,我们称之为Sql执行顺序图: FROM JOIN WHERE GROUP BY HAVING SELECT DISTI…

    database 2023年5月21日
    00
  • Linux查看和关闭后台运行程序的方法

    Linux查看和关闭后台运行程序的方法 在Linux中,有时我们需要在后台运行一些程序,这样不仅可以节省资源,还可以让我们继续进行其他操作。然而,当我们要查看某个后台运行的程序的状态或者关闭它时,我们就需要掌握一些技巧了。下面是关于如何查看和关闭后台运行程序的方法。 查看后台运行程序的方法 使用ps命令可以查看当前系统中运行的进程信息。常用的一些选项如下: …

    database 2023年5月22日
    00
  • 详解mysql 获取当前日期及格式化

    下面是 “详解mysql 获取当前日期及格式化” 的完整攻略: 1. 获取当前日期 MySQL 提供了 CURDATE() 函数来获取当前日期。它可以返回一字符串类型,代表当前日期(不包括时间)。例如: SELECT CURDATE(); 返回的结果为当前日期,例如 2021-01-01。 2. 格式化日期 如果你想以固定的格式显示日期,可以使用 DATE_…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部