安装环境

系统 centos 7.9
myslq版本 community 5.7.38

安装步骤

1. 查看并卸载系统中是否自带mysql

[root@localhost ~]# rpm -qa|grep -i mysql
[root@localhost ~]# rpm -qa|grep -i mariadb

从执行结果可以看到系统中自带了mariadb,我们可以使用rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 命令将自带的mariadb进行卸载,卸载后再次执行上面命令进行查看如果无任何显示说明卸载成功(如果系统自带了mysql卸载方式相同,也可以使用 yum remove mysql 命令进行卸载)

2. 下载mysql安装包

下载mysql安装包有两种方式,一种是在mysql官网进行下载,一种是使用mysql rpm源进行下载安装

1. 官网下载,打开官网下载地址,查找自己需要的版本进行下载即可

MySQL :: Download MySQL Community Server (Archived Versions)

2. 使用rpm源进行下载

首先要下载安装mysql的yum源,获取方式可以在官网直接进行下载或使用wget命令进行下载安装

在官网限制,点击yum Repository下载地址根据系统版本选择对应的版本即可

MySQL :: Download MySQL Yum Repository

使用wget方式下载

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

执行上面命令下载yum源rpm包

如果提示 -bash: wget: 未找到命令,则需要先安装wget命令

安装 wget

[root@localhost ~]# yum -y install wget

安装 mysql yum源

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

安装完成后会在/etc/yum.repos.d/目录下生成mysql相关的配置文件

3. 使用yum安装Mysql

1. 安装前我们需要查看下mysql相关源的启用情况

yum repolist all | grep mysql

因为安装的 mysql80-community-release-el7-3.noarch.rpm 源包含了5.6,5.7,8.0等版本,默认情况下启用的是 mysql80-community 也就是执行安装命令安装的是mysql8.x,这里我们要安装的是myslq5.7,所以需要切换下源更改安装版本,将mysql57-community启用切换命令如下

# 禁用mysql8版本
yum-config-manager --disable mysql80-community# 启用myslq5.7版本
yum-config-manager --enable mysql57-community

如果执行以上命令,提示没有找到命令,安装一下yum的utils工具即可

yum -y install yum-utils

切换完成后我们可以看到mysql57-community已经启用

2. 安装 myslq5.7.X

yum -y install mysql-community-server

执行安装后提示 mysql-community-libs-compat-5.7.38-1.el7.x86_64.rpm 的公钥尚未安装,需要导入公钥后再次执行安装即可

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

4. 启动mysql设置开机自启

# 查看mysql状态
systemctl status mysqld

# 启动mysql
systemctl start mysqld

设置开机自启

# 设置开机自启
systemctl enable mysqld# 查看开机自启是否打开
systemctl list-unit-files |grep mysql

5. 连接mysql 设置密码

mysql安装完成后会生成一个随机密码,在/var/log/mysld.log中,我们可以使用此密码登录mysql

# 查看mysql初始密码
grep "password" /var/log/mysqld.log

# 登录mysql -u 指定用户名这里是root -p 密码回车后按提示输入即可 -h 指定ip 这里是本机登录所以省略
mysql -u root -p

登录成功后我们必需要修改密码后才能进行数据库的操作,如果不修改会提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

更改root用户登录密

# 更改root用户密码ALTER USER 用户名 IDENTIFIED BY '新密码';# 示例mysql> alter user 'root'@'localhost' identified by '123456';
或
mysql> alter user user() identified by '123456';user() 可以获取到当前用户名#刷新权限信息
mysql> flush privileges;

如果设置的新密码过于简单,如上面示例中的123456,执行密码后会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements  错误,也就是密码不符合当前的密码策略。mysql默认的密码策略是满足8位并且尽量是混合密码(英文、下划线、数字)

我们尽量按照策略设置比较复杂的密码,如果非要设置简单的密码我们需要更改对应的密码策略

# 设置密码长度 默认是8位
mysql> set global validate_password_length=6;# 设置密码验证策略
mysql> set global validate_password_policy=0;

# 查看当前密码策略
mysql> SHOW VARIABLES LIKE 'validate_password%';

validate_password_check_user_name : 默认关闭,设置为ON时可以将密码设置成当前用户名
validate_password_dictionary_file : 检查密码的字典文件的路径名
validate_password_length : 默认为8,限制密码长度的最小字符数
validate_password_mixed_case_count : 默认值为1,限制小写字符和大写字符个数
validate_password_number_count : 默认值为1,限制数字的个数
validate_password_policy : 默认值为1, 密码强度等级 [LOW:0| MEDIUM:1 | STRONG:2]
validate_password_special_char_count : 默认值为1,限制特殊字符个数validate_password_policy 值说明
0/LOW:只检查长度。
1/MEDIUM:检查长度、数字、大小写、特殊字符。
2/STRONG:检查长度、数字、大小写、特殊字符字典文件。

6. 修改mysql服务端的默认编码为utf8

查看mysql的编码信息

mysql> status;

可以看到服务端默认的编码是latin1,Latin1是ISO-8859-1的别名,有些环境下写作Latin-1

退出mysql 修改 /etc/my.cnf配置文件,添加以下内容并重启mysql即可

vim /etc/my.cnf

# 重启mysql
systemctl restart mysqld

查看mysql编码集

# 查看mysql编码集
mysql> show variables like 'character%';

7. 设置远程登录

mysql按照完成后,默认只支持localhost访问也就是本机访问,如果需要在其他终端进行连接访问则需要设置一下才可以远程访问。

# 切换到 mysql数据库
mysql> use mysql;# 查看用户信息
mysql> select user,host from user;

可以看到在 user 表中root 用户。host 字段为localhost(表示只有本机可以登录),此字段表示登录的主机,其值可以用 IP 地址,也可用主机名。

开启远程登录,我们只需要将 host对应的值改为‘%’即可

# 开启远程登录权限
mysql> update user set host='%' where host='localhost' and user='root';
或
mysql> GRANT ALL ON *.* TO 'root'@'%';# 刷新权限
mysql> flush privileges;说明: % 号表示任意地址都可以访问,当然如果限定某个地址并带上密码访问 可以这样设置
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3'IDENTIFIED BY '123456'WITH GRANT OPTION;这里修改的是root用户,可以根据实际需求进行用户的设置

设置完成后我们可以进行远程连接测试

如果出现以下连接不上的情况,首先检查以下mysql服务是否启动,如果mysql服务正常运行,再查看下是否防火墙导致无法访问

如果是防火墙原因,可以关闭防火墙或配置防火墙开通3306端口后再次连接即可

# 查看防火墙状态
systemctl status firewalld#关闭防火墙
systemctl stop firewalld#开启防火墙
systemctl start firewalld

# 防火墙开通 3306 端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent--permanent 表示永久生效,如果不加此参数重启后会失效# 重新载入配置
firewall-cmd --reload

至此linux下安装 mysql完成

Linux系统Mysql安装与配置相关推荐

  1. 低配置系统安装 linux,Linux系统的安装和配置

    Linux系统的安装和配置 更新时间:2006年10月24日 00:00:00   作者: Linux,在今天的广大电脑玩家耳中已经不再是那个曾经陌生又遥远的名字,大家提起Linux时,不再是把它当做 ...

  2. 在RedHat Linux系统中安装和配置snmp服务

    在RedHat Linux系统中安装和配置snmp服务 检查系统是否安装snmp服务 # rpm -qa|grep snmp net-snmp-5.3.2.2-17.el5 net-snmp-perl ...

  3. linux系统查看当前安装字库,Linux系统下安装和配置中文字库的方法

    满意答案 Linux的中文都很难看,那么我们如何在Linux下进行安装和配置中文字库呢? Linux安装开源中文字体的方法 下面以Linux安装开源字库文泉驿为例: C/C++ Code复制内容到剪贴 ...

  4. w10系统mysql_win10系统mysql安装及配置

    其中查看默认密码和修改密码有问题: 默认密码修改方法:alter user 'root'@'localhost' identified by '123456'; 下载MYSQL 官网下载MYSQL5. ...

  5. linux系统下安装和配置redis(2021版)

    前言:最近在阿里云市场中租用了一台ESC,学习和研发用途.操作系统版本为CentOS 7.9 64位,需要配置一些基础环境,其中就包括redis.在此记录下redis的安装和配置过程,方便自己和后来者 ...

  6. MongoDb进阶实践之一 如何在Linux系统上安装和配置MongoDB

    一.NoSQL数据简介 1.NoSQL概念 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",是一项全新的数据库革命性运动,早期就有人提出,发展至2 ...

  7. Linux环境——MySQL安装及配置(5.7版本)

    数据库安装包下载地址:https://dev.mysql.com/downloads/mysql/ 选择适合自己的版本,我的环境是Linux  Red Hat Enterprlse Linux (64 ...

  8. Linux系统JDK安装和配置

    以下步骤均为root登录状态下进行执行. 一.卸载JDK Linux会自带JDK,如果不使用自带版本的话需要卸载. 1.卸载系统自带的jdk版本 查看自带的jdk #rpm -qa | grep gc ...

  9. Linux环境——MySQL安装及配置(8.0版本)

    虚拟机环境是Linux  Red Hat Enterprlse Linux (64位),本次安装的是Mysql 8.0版本. 由于有经验了,所以又弄了台虚拟机练手,承接上一篇博客(https://ww ...

最新文章

  1. 大三Java后端暑期实习面经总结——Java容器篇
  2. 应用按home键无最近应用
  3. Java泛型详解,通俗易懂只需5分钟
  4. VTK:可视化之QuadraticSurface
  5. c语言比较当前日期大小,C语言判断两个日期只差的方法
  6. 玩转嵌入式,且看痞子衡
  7. LeetCode 491. 递增子序列(回溯+判重剪枝)
  8. 【Proteus】如何在Proteus中将网络标号批量标号
  9. MySQL 5.7.21详细下载安装配置教程
  10. DragSortListView可拖拽ListView的注意事项
  11. yolov2 - tiny模型训练识别
  12. HTML/CSS制作网页
  13. 【杂谈分享】如何在中国大学MOOC高效学习?MOOC学习全面指北√
  14. Restful API 接口规范
  15. TOEFL wordlist 28
  16. Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation论文解析(视频超分)
  17. 图形轨迹c语言,OpenCV识别图像上的线条轨迹
  18. 机器学习 | 调参 Part1
  19. 针对网络脆弱性的攻击图分析方法总结
  20. 怎样选择一家优秀、靠谱、专业的品牌咨询公司?

热门文章

  1. Graph WaveNet 深度时空图建模
  2. 打开chrome报错误代码:STATUS_INVALID_IMAGE_HASH解决方案
  3. Vue.js生命周期函数
  4. 【简洁明了MySQL】MySQL基础操作之连接,创建和删除数据库
  5. Github: BeatMusic: An independent upload resources for musicians to share music WebApp
  6. 查看IP地址及ping命令
  7. iconify图标使用
  8. XMind 8 Update 9 升级 Pro 版
  9. winPE无法识别SSD的解决方案(关闭VMD)
  10. Python正则表达式所有函数详解