CentOS7 下使用yum安装MySQL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: CentOS7 下使用yum安装MySQL

查看系统信息:

cat /etc/redhat-release

aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDE5MTYwMTM3NDk0.png

首先安装基本依赖和工具:

yum -y install gcc libxml2-dev curl screen \libpng12-dev autoconf libpcre3-dev make bzip2 \libevent-dev patch libjpeg62-dev libcurl4-openssl-dev \libfreetype6-dev g++ libtool libncurses5-dev psmisc lrzsz
yum install make cmake gcc gcc-c++


【1】下载安装yum源

下载rpm包

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm



aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDE5MTU0MjAxNDI1.png

安装rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDE5MTU0MjQ5MDIy.png


当然,如下图所示,在http://repo.mysql.com/这个地址中我们可以选择其他的源。



检查rpm包是否安装成功(出现如下图所示则为安装成功)

ls -1 /etc/yum.repos.d/mysql-community*

如下图所示安装成功后我们得到了两个mysql的yum源。

repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!

【2】安装mysql

yum install mysql-server mysql-devel mysql

安装成功如下图所示:


是不是迫不及待想要启动mysqld服务?

service mysqld start


提示错误如下:



意思是说,在/etc/init.d/mysqld文件中的第276行,打开/usr/local/mysql失败,没有该文件或者路径不存在。

查看/etc/init.d/mysqld文件:


basedir,datadir,和bindir都在/usr/local/mysql


去该路径下查看一番。



确实没有mysql文件夹!!!当然启动失败了。

Centos7.X+正确启动(停掉)方式:

# 启动服务
systemctl start mysqld
# 关闭服务
systemctl stop  mysqld
# 查看服务状态
systemctl stop  mysqld

【3】启动并修改mysql密码

上面说了,启动命令如下:

systemctl start mysqld


查看mysql的启动状态:

systemctl status mysqld


aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDE5MTYwODMyNTQz.png



开始连接:

mysql -u root -p


aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDE5MTYwNjMwOTkz.png

使用安装过程中产生的临时密码登录。继续操作提示如下:

You must reset your password using ALTER USER statement before executing this statement.

step 1: SET PASSWORD = PASSWORD('your new password');
step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
step 3: flush privileges;

如果你的安装过程么有出现临时密码,而是如下图所示:

那么使用命令初始化密码:

/usr/bin/mysqladmin -u root password '123456'

如果你不知道密码,忘记root密码修改办法:

http://blog.csdn.net/J080624/article/details/78286239


【4】添加远程连接权限

以root用户登录mysql

mysql -uroot -p
  • 赋予远程连接权限
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;


aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDE5MTYyODM4ODM3.png

执行完会在mysql.user表插入一条记录,all表示所有权限(包括增 删 改 查等权限), *.*表示所有数据库,root为添加的用户名,123456为密码,%为匹配的所有主机。


赋予部分权限如:

grant select,update on *.* to root@'%' identified by '123456';
  • 从user表中查看host,user和password
use mysql;
select host,user,password from user;

aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDE5MTYzMzI5NjQz.png



  • 使用Navicat Premium连接测试


【5】设置开机启动

systemctl enable mysqld
systemctl daemon-reload


  • reboot重启测试
ps -ef|grep mysql

aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDE5MTY0MTExMTc5.png



【6】修改默认编码

查看默认编码

show variables like '%character%';


aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDE5MTY0NzMwMDE2.png


修改编码为utf-8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'


aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDE5MTY1MDE0MzE2.png



重新启动mysql服务,查看数据库默认编码如下所示:

在MySQL8.0之前默认字符集是Latin1,utf8字符集指向的是utf8mb3。从MySQL8.0开始,数据库默认字符集是utf8mb4,彻底避免乱码问题。实际在上面修改字符集的时候,也应该显示指定为utf8mb4。


【7】配置文件路径

该系统下默认配置文件路径:


配置文件:/etc/my.cnf


日志文件:/var/log/mysqld.log


服务启动脚本:/usr/lib/systemd/system/mysqld.service


pid文件:/var/run/mysqld/mysqld.pid


socket文件:/var/lib/mysql/mysql.sock


数据文件:/var/lib/mysql/var/lib/mysql文件路径下结构图如下:

其中 ibdata1存放的即为数据库的数据。


【8】设置软连接

mysql默认的basedir:/usr/local/mysql

而我们安装成功后的basedir :/usr


这也是为什么使用下面命令启动不成功的原因。

service mysqld start

如何才能使用这种方式启动?建议使用软连接:

ln -s /usr /usr/local/mysql


此时可以使用两种方式启动,对比图如下:

service mysqld start
or
systemctl start mysqld



aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcxMDE5MTcyODE2NTU5.png

【9】完全删除mysql

① 关闭MySQL服务

# centos6
service mysqld stop
# centos7
systemctl stop   mysqld

② 查看当前MySQL安装状况

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

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

yum remove  mysql-xxx mysql-xxx
find / -name mysql 将找到的相关东西delete掉;
rpm -qa|grep mysql(查询出来的东东yum remove掉)

④ 删除mysql相关文件

查找相关文件

find / -name mysql

删除上述命令查找出的文件

rm -rf xxx

⑤ 删除my.cnf

通常是/etc/my.cnf文件,这个需要根据自己环境和MySQL版本来确定一下。

rm -rf /etc/my.cnf

【10】MySQL8.X的操作

如下所示操作在MySQL8环境下会直接报错:

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456!' with grant option;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by '123456' with grant option' at line 1

数据库操作(Centos7.x+)

# 查看状态
systemctl status mysqld
# 启动
systemctl start  mysqld
# 停止
systemctl stop   mysqld
# 重启
systemctl restart mysqld

① 创建用户并赋权

# 创建用户并设置密码
create user 'root'@'%' identified by '123456';
#赋予权限
 grant all on *.* to 'root'@'%' with grant option;
#刷新MySQL的系统权限相关表
flush privileges;

授权完可以查看授权信息:

show grants for 'root'@'%';

查看字符集(如下所示,我们不用再手动修改)

② MySQL8配置文件


Cento8下使用yum安装MySQL默认版本是MySQL8.X,这里配置文件路径在/etc/my.cnf.d下,如下所示:

[root@VM-24-14-centos my.cnf.d]# pwd
/etc/my.cnf.d
[root@VM-24-14-centos my.cnf.d]# ll
total 12
-rw-r--r-- 1 root root 324 Jan 24 22:16 client.cnf
-rw-r--r-- 1 root root 565 Sep  2 02:53 mysql-default-authentication-plugin.cnf
-rw-r--r-- 1 root root 674 Jan 24 22:17 mysql-server.cnf



当然,/etc/my.cnf同样存在,其作为client-server的公共配置如下图所示:


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
34
分享
相关文章
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
### 安装VMtools的作用及步骤 安装VMtools可以实现Windows与CentOS之间的字符串和命令粘贴、文件夹共享等操作。在CentOS中,通过VMware菜单栏选择“VMware Tools”,将下载的压缩包拷贝到`/opt`目录并解压。接着进入终端,使用`./vmware-install.pl`命令完成安装。安装后重启系统,即可实现Windows与CentOS之间的字符和文件共享。具体步骤包括解压文件、启动命令行终端、安装VMtools以及配置文件共享。
75 16
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
|
25天前
|
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
107 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
如何从CentOS7升级到8?CentOS8最新安装教程
从CentOS 7升级到8只需三步:清理系统、更换软件包及存储库、安装新内核与发布版本。首先确保系统最新并清理冗余包,接着替换基础系统包为CentOS 8版本,最后通过DNF工具完成内核更新与系统同步。整个过程需在终端执行,建议升级前备份VPS快照以防数据丢失。此方法可避免重装系统导致的数据清除问题,实现平滑升级。
50 6
MySQL8官方YUM仓库使用指南
MySQL 8 是广受欢迎的开源关系数据库管理系统,引入了诸多新特性和性能提升。本文介绍如何在 Linux 上通过 MySQL 官方 YUM 仓库安装和管理 MySQL 8。首先配置 YUM 仓库并安装 MySQL,启动服务后获取临时密码并登录。接着创建数据库与用户,使用 SQL 命令创建表格、插入及查询数据。此方法简便高效,适合快速上手 MySQL 8 的基本操作。
77 13
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
177 25
|
2月前
|
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
70 13
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
|
2月前
|
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
92 20
Centos7.9安装kerberos
Centos7.9安装kerberos
109 25
Centos7.9安装openldap
Centos7.9安装openldap
82 16

热门文章

最新文章