LINUX环境下安装MySQL数据库_xianren95的博客-程序员宝宝_linux装mysql

技术标签: linux  mysql  数据库  

下载MySQL安装包

进入官网选择需要的版本下载安装包。官网下载地址:官网下载
进入下载也如下图:
在这里插入图片描述

安装MySQL

1、上传安装包值Linux服务器(习惯传至/usr/local,以下都以这个路径为准);
2、解压并将包名改为mysql(安装包名太长了,改为mysql)

#进入local目录
cd /usr/local/
#解压mysql安装包
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
#修改文件夹名称为mysql
mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql

3、创建mysql用户和用户组

groupadd mysql(添加用户组)
useradd -r -g mysql mysql(创建mysql用户并将其添加至mysql用户组)

4、进入mysql文件夹中穿甲data和log目录用于存放数据和日志

cd mysql
mkdir data
mkdir log

5、将mysql文件夹的所有者改为mysql所属

chown -R mysql:mysql /usr/local/mysql

6、编辑mysql配置文件my.cnf,centos中在etc文件夹下默认有my.cnf文件(vim /etc/my.cnf)需要修改的配置如下:

socket=/temp/mysql.sock(socket通信设置)
basedir=/usr/local/mysql(mysql安装目录)
datadir=/usr/local/mysql/data(数据文件文职)
max_connections=1024(允许最大连接数)

7、初始化MySQL

cd /usr/local/mysql/bin/
mysqld --initalize-insecure(无密码初始化)
mysqld --initalize(有密码初始化,会随机生成一段密码,不好记,建议使用无密码初始化,后面再添加密码)

安装成功后如下图所示:
在这里插入图片描述
如果初始化报错mysqld: error while loading shared libraries: libaio.so.1则执行以下命令:

yum install  libaio-devel.x86_64

添加服务并设置开机自启

1、将mysql脚本复制到etc资源目录

cp -a /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

2、修改资源目录下mysqld的可执行权限

chmod +x /etc/rc.d/init.d/mysqld

3、添加为系统服务

chkconfig --add mysqld(添加为系统服务)
chkconfig --list(查看系统服务列表,如果mysqld 3/4/5状态为on则表添加成功)
chkconfig --level 345 mysqld on(如果3/4/5为off则执行该命令开启)

在这里插入图片描述

4、启动MySQL

service mysqld start(启动mysql服务)
service mysqld stop(停止服务)
service mysqld restart(重启服务)

配置数据库环境变量

1、编译环境变量文件,添加mysql安装地址

vim /etc/profile(配置文件位于etc目录下)
export PATH=$PATH:/usr/local/mysql/bin(在profile文件末尾添加)

2、重载配置文件使其生效

source /etc/profile

配置数据库用户和权限

1、登录mysql数据库

mysql -u root -p(无密码初始化直接登录,有密码初始化输入随机生成的那串密码登录)

2、修改root密码

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

3、开启数据库远程连接,默认只允许本机连接;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; (允许root用户可以从任何主机连接到mysql服务;如果要指定ip连接的话将%改为要允许连接的ip即可)
FLUSH PRIVILEGES;(使其生效)

至此,MySQL数据库安装完成

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xianren95/article/details/121889444

智能推荐

如何让你的游戏更有趣_小鬼编程的博客-程序员宝宝

作为游戏开发者,我们经常谈论建设游戏的技术方面。而我认为由必要在一个更深的层面上来讨论游戏的设计。今天,我想和大家谈谈如何让你的游戏变得有趣。这显然是一个众说纷纭的话题,并没有一个明确的答案。这没有公​​式可以遵循,也没有函数库供你调用。当我在研究这篇文章的时候,我曾问我的朋友他是怎么想的,他说:“这就像问一个喜剧演员如何搞笑”,他的潜台词,它更像是一门艺术而不是科学。考虑到“使事情变得有

微信小程序适配iphoneX,XR,12的底部安全区域(底部小黑条)_summer_my_sunshine的博客-程序员宝宝_小程序iphonex兼容底部

问题描述:在项目页面开发过程中,有些页面的按钮是需要固定在页面底部的(比如电商项目的确认订单页);如果直接设置bottom:0,那么在iphonex,xr,12等机型,就会出现下面左图的问题,按钮区域距离底部太近了,用户体验就会很差,按钮也不好点击。解决思路:为了适配所有的手机机型,我们需要获取到底部小黑条的高度,给固定在底部的view设置padding-bottom,增加高度;(有些手机默认是没有底部这个区域的,没有的话padding-bottom就设置为0)解决方法:1.首先,..

第三章 springmvc 视图及REST_Jason.Yang_Tom的博客-程序员宝宝

本章目标视图和视图解析器 进行重定向和转发 Spring表单标签 REST CRUD什么是视图解析器SpringMVC用于处理视图最重要的两个接口是ViewResolver和View。ViewResolver的主要作用是把一个逻辑上的视图名称解析为一个真正的视图,SpringMVC中用于把View对象呈现给客户端的是View对象本身,而ViewResolver只是把逻辑视图名称...

如何实时查看mysql当前连接数_classicbear的博客-程序员宝宝_查看mysql数据库连接数

如何实时查看mysql当前连接数? 1、查看当前所有连接的详细资料:./mysqladmin -uadmin -p -h10.140.1.1 processlist2、只查看当前连接数(Threads就是连接数.):./mysqladmin  -uadmin -p -h10.140.1.1 status、查看当前所有连接的详细资料:mysqladmin

std::string 类中find_first_not_of ()函数_liu44235的博客-程序员宝宝_find_first_not_of

使用string的empty()函数判断字符串是否为空,但不能判断是不是“_ ”(_ 表示空格)或者连续空格“___”;此时可以使用

让乔布斯告诉程序员:为什么技术思维不值钱?_萌眼牛牛 Lah的博客-程序员宝宝

之前,我看过《乔布斯传》这本书籍,然后最近这几天在读《成为乔布斯》这本书籍。说实话,《成为乔布斯》确实比《乔布斯传》这本书写好的,所以,对于大家如果喜欢乔布斯,或者想读乔布斯相关书籍的同学,可以读一读《成为乔布斯》这本书。在读《成为乔布斯》的时候,我看到这么一段话:家酿计算机俱乐部成员对他俩(乔布斯和沃兹)的作品反应平平。电脑之所以有趣,是因为用户可以设计、组装自己的机器,这也是为什么俱乐部的名字...

随便推点

Android OpenGL ES学习笔记之绘制线、面_Dennis-Android的博客-程序员宝宝_android opengl 画线

前言之前一篇文章讲了如何绘制点,所谓两点成线,三点成面。一个立体图形就是由很多面组成,在OpenGL ES中,面特指一个三角形。绘制调用glDrawArrays(int mode, int first, int count)方法mode的参数可以选择 - GL_POINTS ————绘制独立的点 - GL_LINE_STRIP————绘制连续的线段,不封闭 - GL_LINE_LOOP————绘制连

Python抓取图片_hzp666的博客-程序员宝宝

本文系作者「无名小妖」的第二篇原创投稿文章,作者通过用爬虫示例来说明并发相关的多线程、多进程、协程之间的执行效率对比。如果你喜欢写博客,想投稿可微信我,有稿费酬劳。假设我们现在要在网上下载图片,一个简单的方法是用 requests+BeautifulSoup。注:本文所有例子都使用python3.5)单线程示例 1:get_photos.pyimport osimport timeimport u...

ARM家族大检阅_weixin_30349597的博客-程序员宝宝

首先列举下几个名称: 6410 2440 210 A8 ARM9 ARM11 ARMv7 ARMv6进行分类:1、芯片名称:2440 6410 2102、ARM核:A8 ARM9 ARM113、指令架构ARMv6 ARMv7--------------------------------------------------------------芯片,...

使用Xcode进行单元测试 —— 环境配置_cy-app的博客-程序员宝宝

转自 http://42.96.169.71/blog/2013/01/15/shi-yong-xcodejin-xing-dan-yuan-ce-shi/单元测试,是保证产品质量的一个好方法。 移动产品会经常的更新升级,每次版本更新的时候,都需要花费大量的精力来进行测试。 使用单元测试,则可以减少这类重复性的工作。 能够让测试变得更加自动化并且大幅提高测试的效率。 Xcode 为我们

Android_硬件加速_寒弦的博客-程序员宝宝

Android中的硬件加速前言从andoroid 3.0开始,Android的2D渲染管线可以更好的支持硬件加速。硬件加速是使用GPU进行View上的绘制操作。硬件加速的级别applicationactivitywindowview为何有多级别的硬件加速硬件加速可以带啦性能的提升,为什么android不直接全部使用硬件加速,而是区别出来多级硬件加速呢?因为并不是所有的2D图形操作都支持硬件

Android中Handler的sendEmptyMessage的理解_ElvisDu的博客-程序员宝宝_android sendemptymessage

在写代码的过程中,碰到一行代码不理解,去看了下源码,来记录下。mHandler.sendEmptyMessage(0);sendEmptyMessage这个方法之前没有碰到过,查阅源码后发现: /** * Sends a Message containing only the what value. * * @return Returns true