首页 > 数据库 >【CentOS7】安装MySQL

【CentOS7】安装MySQL

时间:2025-01-10 20:01:44浏览次数:3  
标签:-- MySQL 字符集 CentOS7 systemctl mysqld mysql 安装

检查是否安装过MySQL

检查是否用yum安装过mysql

yum list installed | grep -i mysql

检查是否用过rpm安装过mysql

rpm -qa | grep -i mysql

检查有没有mysql服务开启

systemctl status mysqld.service

卸载MySQL(可选)

1. 关闭 mysql 服务

systemctl stop mysqld.service

2. 查看当前 mysql 安装状况

rpm -qa | grep -i mysql
# 或
yum list installed | grep mysql

3. 卸载上述命令查询出的已安装程序

yum remove mysql-xxx mysql-xxx mysql-xxx mysqk-xxxx

务必卸载干净,反复执行rpm -qa | grep -i mysql确认是否有卸载残留

4. 删除 mysql 相关文件

  • 查找相关文件

find / -name mysql
  • 删除上述命令查找出的相关文件

rm -rf xxx

5.删除 my.cnf

rm -rf /etc/my.cnf

安装

由于我使用yum list all | grep -i mysql

发现并没有mysql安装包,所以我选择从外部导入,然后再用rpm安装

检查依赖

安装MySQL需要libaio依赖,这个是必须的,libaio 是一个支持异步 I/O 的库,通常 MySQL 使用它来提高性能。

net-tools这个不是必须的,只是建议,包含了一系列网络工具(如 ifconfignetstat 等),在某些情况下可能会被用到

yum list installed | grep -i libaio
yum list installed | grep -i net-tools

上传压缩包

MySQL :: Download MySQL Community Server (Archived Versions)

在这个链接下载这五个rpm安装包

图中的顺序是安装的顺序不准错!!

开始安装

注意顺序!!!

安装libs的过程中可能会报错,说什么Centos7默认数据库是mariadb-libs,所以我们要删掉这个,这么看的话,这个数据库与mysql应该都很多通用的依赖

yum remove mysql-libs

检查安装

mysqld --version 
#或
mysqladmin --version

服务初始化

mysqld --initialize --user=mysql
  • --user=mysql 指定了 MySQL 服务器进程mysql 用户身份运行,这有助于提升安全性,防止其他用户访问 MySQL 的数据目录。
  • --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登录后你需要设置一个新的密码。生成的临时密码会往日志中记录一份。

查看初始密码

启动

#加不加.service后缀都可以 
启动:systemctl start mysqld.service 
关闭:systemctl stop mysqld.service 
重启:systemctl restart mysqld.service 
开机自启:systemctl enable mysqld.service 
关闭开机自启:systemctl disable mysqld.service 
查看状态:systemctl status mysqld.service

登录

注意这里用的本地localhost的root用户登录

这里输入刚才的初始密码

mysql -hlocalhost -P3306 -uroot -p

修改密码

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

配置远程登录用户

Linux用于生产环境,需要开启远程登录的功能,需要配置

确保网络通畅

开放端口

检查防火墙状态

systemctl status firewalld
或
firewall-cmd --state

防火墙是开着的,我们只需要开放MySQL的端口就行,默认是3306,我没有改

firewall-cmd --list-ports
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports

创建远程用户

SHOW DATABASES;
USE mysql;
mysql -uroot -p
SELECT Host, User FROM user; 

CREATE User 'remote'@'%' IDENTIFIED WITH mysql_native_password BY 'Remote@1234';
SHOW GRANTS FOR 'remote'@'%';

这样创建的用户为给一个USAGE权限,也就是远程连接的权利 

这里赋予全部权限,这里不包括GRANT权限,不过生产环境不要这么搞 

#赋予全部权限,这里不包括GRANT的权限
GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%';

字符集相关操作

字符集列表

show variables like 'character%';

  • character_set_server:服务器级别的字符集

  • character_set_database:当前数据库的字符集

  • character_set_client:服务器解码请求时使用的字符集

  • character_set_connection:服务器处理请求时会把请求字符串从character_set_client转为character_set_connection

  • character_set_results:服务器向客户端返回数据时使用的字符集

小结

  • 如果创建或修改列时没有显式的指定字符集和比较规则,则该列默认用表的字符集和比较规则

  • 如果创建表时没有显式的指定字符集和比较规则,则该表默认用数据库的字符集和比较规则

  • 如果创建数据库时没有显式的指定字符集和比较规则,则该数据库默认用服务器的字符集和比较规则

标签:--,MySQL,字符集,CentOS7,systemctl,mysqld,mysql,安装
From: https://blog.csdn.net/lklalmq/article/details/144968577

相关文章

  • MySQL 安装部署
    概述本文主要介绍如何在Linux中以RPM包的方式安装MySQL并进行相关的初始化配置,文中方案均已实践验证。操作系统CentOS7.6数据库版本MySQL8.4.3LTS[!NOTE]说明本文主要介绍RPM包的安装方式,其他安装方法可查阅官网:MySQL::MySQL8.4ReferenceManua......
  • (免费送源码)计算机毕业设计原创定制:Java+ssm+MySQL SSM 超市外卖系统小程序
     摘 要随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,超市外卖系统小程序被用户普遍使用,为方便用户能够可以随时进行超市外卖系统小程序的数据信息管理,特开发了基于微信小程......
  • (免费送源码)计算机毕业设计原创定制:Java+ssm+MySQL SSM母婴用品交流系统
     摘  要随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。母婴用品交流系统,主要的模块包括查看首页、轮播图管理、通知公告管理、资源管理(母婴资讯、资讯分类)、交流管理(交流论坛、论坛分类)、用户管理(管理员、普......
  • 05、Docker学习,常用安装:Mysql、Redis、Nginx、Nacos
    Docker学习,常用安装:Mysql、Redis、Nginx、Nacos一、Docker安装Mysql1、dockersearchmysql ##查找mysql版本都有哪些2、dockerpullmysql:5.6 ##下载5.6版本的mysql镜像3、dockerrun-p13306:3306--namemysql ##运行镜像生成容器-v/opt......
  • nvm 安装进行node多版本管理及环境变量配置
    注意:1、安装nvm之前需要卸载之前的nodejs,并且还要删除之前的环境变量配置,否则会出现一些奇怪的问题2、nvm的安装路径不能有中文或者空格,否则后面在cmd中切换node版本会出现乱码一、完全卸载旧的nodejs参考文章《Node卸载超详细步骤》1、打开系统的控制面板,点击卸载程序,卸载no......
  • Ubuntu 安装jenkins
    root@iZf8ze6huh0b9fb34f8xbgZ:/var/log/jenkins#ps-ef|grepjava1000194391940902024pts/000:18:56java-Duser.home=/var/jenkins_home-Djenkins.model.Jenkins.slaveAgentPort=50000-Dhudson.lifecycle=hudson.lifecycle.ExitLifecycle-jar/us......
  • Ubuntu安装MySQL-5.7.44
    一、下载MySQL::DownloadMySQLCommunityServer(ArchivedVersions) MySQL::MySQLDownloads 下滑 二、卸载ubuntu18.04彻底卸载mysql5.7,图文详解_ubuntu卸载mysql-CSDN博客1、查看MySQL的依赖项dpkg--list|grepmysql2、删除所有MySQL工作......
  • 离线服务器迁移安装docker镜像
    场景服务器需要使用容器,但是服务器是离线状态,或者无法直接拉取docker镜像,这时候就需要本篇文章了步骤步骤1:将镜像导出为tar文件首先,在在线服务器上将镜像导出为一个.tar文件。你可以使用dockersave命令来将镜像导出:dockersave-o/path/to/your-image.taryour-im......
  • 记录一次FFmpeg的安装过程
    系统版本:CentOS7事情起因:生产环境因为外网开放,密码强度为初始密码,造成挖矿病毒攻击,删除过程中发现,删除文件的同时,病毒会同时从外网下载,怎么也删除不干净,故决定重装系统。同事是在2024年6月19日部署的生产环境,不巧的是CentOS7在2024年6月30日停止维护了,造成无法通过yum命......
  • mysql dual使用
    在编写sql语句时,dual表可以作为一个空表在任意场合使用。例:select7*9fromdual;#计算器+-----+|7*9|+-----+|63|+-----+这样做是为了保持sql语句的书写习惯。以下写法也可以实现相同效果:select7*9+-----+|7*9|+-----+|63|+-----+但如果要......