Linux系统之安装MySQL5.7版本

举报
江湖有缘 发表于 2024/07/13 20:39:10 2024/07/13
【摘要】 Linux系统之安装MySQL5.7版本

一、MySQL介绍

1.1 MySQL简介

MySQL是一个开源的关系型数据库管理系统(RDBMS),由MySQL AB公司开发,现隶属于Oracle公司。它是全球最受欢迎的数据库系统之一,尤其在Web应用程序开发中占据主导地位。MySQL以其高性能、高可靠性和易用性著称,适用于从小型个人项目到大型企业级应用的各种规模的数据库需求。

1.2 MySQL特点

MySQL的主要特点包括:

  • 开源免费:遵循GPL协议,用户可以自由地使用和修改源代码。
  • 跨平台:支持Windows、Linux、Unix等多种操作系统。
  • 性能高效:优化的SQL算法和多线程支持,能够有效利用系统资源。
  • 稳定性与安全性:提供了多种安全特性,如访问控制、加密连接等,确保数据安全。
  • 支持多种存储引擎:如InnoDB(事务安全)、MyISAM(高速查询)等,可根据应用场景选择。
  • 丰富的数据类型:支持整数、浮点数、字符串、日期时间、二进制等多种数据类型。
  • 强大的SQL支持:支持复杂的SQL查询,包括触发器、视图、存储过程等高级功能。
  • 管理工具丰富:提供图形界面管理工具如phpMyAdmin,以及命令行工具mysqldump、mysqladmin等。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname 本地P地址 操作系统版本 内核版本 MySQL版本
jeven 192.168.3.166 centos 7.6 3.10.0-957.el7.x86_64 5.7

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在centos7.6环境下快速部署Mysql5.7数据库服务。

三、检查时间环境

3.1 检查系统版本

检查操作系统版本,当前操作系统版本为centos7.6。

[root@jeven ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

3.2 检查内核版本

检查内核版本,当前内核版本为3.10.0-957.el7.x86_64

[root@jeven ~]# uname -r
3.10.0-957.el7.x86_64

3.3 检查MySQL安装情况

检查mysql数据库相关安装情况,可以使用以下命令。

[root@jeven ~]# rpm -qa | grep mysql
mysql-community-libs-5.7.44-1.el7.x86_64
mysql-community-client-5.7.44-1.el7.x86_64
mysql-community-common-5.7.44-1.el7.x86_64
mysql-community-libs-compat-5.7.44-1.el7.x86_64

3.3 卸载mariadb数据库

如果原服务器有mariadb数据安装痕迹,则需要清空环境。

  • 卸载mariadb
yum remove mariadb* -y
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql/
  • 卸载Mysql数据库
yum remove mysql* -y
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql/
rm -rf /var/log/mysqld.log

四、配置镜像源

4.1 配置yum仓库

执行以下命令,配置Mysql数据库的yum镜像源

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

4.2 查看mysql-community.repo

/etc/yum.repos.d目录,查看mysql-community.repo配置文件。

[root@jeven ~]# cd /etc/yum.repos.d/
[root@jeven yum.repos.d]# ls
CentOS-Base.repo  epel.repo  epel-testing.repo  mysql-community.repo
[root@jeven yum.repos.d]# pwd
/etc/yum.repos.d
[root@jeven yum.repos.d]# cat mysql-community.repo
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-preview]
name=MySQL Tools Preview
baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/7/$basearch/
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-cluster-7.5-community]
name=MySQL Cluster 7.5 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.5-community/el/7/$basearch/
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-cluster-7.6-community]
name=MySQL Cluster 7.6 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.6-community/el/7/$basearch/
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

4.3 检查yum仓库状态

执行以下命令,查看yum仓库状态。

yum repolist enabled

在这里插入图片描述

五、安装MySQL数据库

5.1 安装MySQL

执行以下命令,直接安装MySQL数据库。

yum install -y mysql-server

在这里插入图片描述

5.2 启动mysql服务

执行以下命令,启动启动mysql服务。

systemctl enable --now mysqld

5.3 查看mysql服务状态

检查mysql服务状态,确保mysql服务正常启动。

[root@jeven ~]#  systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2024-05-26 22:40:07 CST; 27s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 53867 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 53813 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 53870 (mysqld)
    Tasks: 27
   Memory: 314.1M
   CGroup: /system.slice/mysqld.service
           └─53870 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

May 26 22:40:03 jeven systemd[1]: Starting MySQL Server...
May 26 22:40:07 jeven systemd[1]: Started MySQL Server.

5.4 检查MySQL版本

执行以下命令,查看MySQL版本。

[root@jeven ~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.44, for Linux (x86_64) using  EditLine wrapper

六、远程访问MySQL数据库

6.1 查找初始密码

MySQL 5.7安装后会自动生成一个随机的root密码,这个密码会记录在MySQL的日志文件中,通常位于/var/log/mysqld.log。你需要找到这条记录,形如A temporary password is generated for root@localhost:之后的内容就是初始密码。

grep password  /var/log/mysqld.log

在这里插入图片描述

6.2 初始连接

执行以下命令,将以上得到的初始密码复制粘贴即可。

 mysql -uroot -p

在这里插入图片描述

6.3 修改初始密码

执行以下命令,修改初始密码,自定义即可。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123456';

在这里插入图片描述

6.4 修改密码策略

查看当前的密码策略

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

mysql>

validate_password_policy变量控制密码策略的严格程度,取值范围为0-3(或使用LOW, MEDIUM, STRONG, DEFAULT作为等效字符串)。0表示不检查密码,3为最严格。

SET GLOBAL validate_password_policy = 0;

validate_password_policy有四个不同的取值:

  • 0:禁用密码强度检查。
  • 1:启用密码强度检查,密码必须包含至少一个数字、一个小写字母和一个大写字母。
  • 2:启用密码强度检查,密码必须包含至少一个数字、一个小写字母、一个大写字母和一个特殊字符。
  • 3:启用密码强度检查,密码必须包含至少一个数字、一个小写字母、一个大写字母、一个特殊字符和一个字母数字字符。

6.5 新建远程连接账号

执行以下命令,新建远程连接账号。

create user "admin"@"%" identified by "admin123";
grant all on *.* to admin with GRANT OPTION;
flush privileges;

6.6 客户端远程连接mysql

在其余Linux服务器的mysql客户端上连接Mysql服务

[root@server ~]# mysql -h 192.168.3.166 -uadmin -padmin123
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.44 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。