Linux安装MySQL【Ubuntu20.04】

news2024/10/2 1:36:45

操作系统:Ubuntu20.04

使用工具:xshell7、xftp7 

MySQL版本:5.7

一、删除Linux系统下自带的mariadb (因为centos自带一个老版Mariadb 与MySQL冲突)

  •  如果没有找到Mariadb直接跳过

#查找Mariadb
rpm -qa | grep mariadb

自带的mariadb

  • 删除Mariadb

yum -y remove mariadb-libs-5.5.68-1.el7.x86_64
  • 最后可以在检查一遍是否删除

二、下载MySQL

  • 官网下载:https://downloads.mysql.com/archives/community/

    下载方式1(用xftp):官网下载到本地用xftp上传到服务器

    下载方式2(用wget): 右键Download复制链接地址

#如果没有wget命需安装
sudo yum -y install wget

#mysql在线下载,后面地址为右键复制的链接
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
  • 百度网盘链接:https://pan.baidu.com/s/1qjBKWJAZZOW1WbSxjS3GXA?pwd=cfp5

    提取码:cfp5

三、安装MySQL

  • 创建mysql目录并解压到指定文件夹

#解压文件
tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

#移动文件夹并重命名
 mv mysql-5.7.38-linux-glibc2.12-x86_64 /usr/local/mysql
  •    创建mysql用户组和用户并修改权限

groupadd mysql
useradd -r -g mysql mysql
  • 创建数据目录并赋予权限

mkdir -p  /data/mysql               #创建目录
chown mysql:mysql -R /data/mysql  		  #赋予权限
  • 配置my.cnf

vim /etc/my.cnf
  • 添加以下内容

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
  • 初始化数据库并查看密码

#进入mysql的bin目录
cd /usr/local/mysql/bin/

#初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

#查看密码
cat /data/mysql/mysql.err

四、启动MySQL并更改密码

#先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

没启动MySQL时:

service mysql status
root@iZm5e9phbzdxx0lysrv9t2Z:~# service mysql status
● mysql.service - LSB: start and stop MySQL
     Loaded: loaded (/etc/init.d/mysql; generated)
     Active: inactive (dead)
       Docs: man:systemd-sysv-generator(8)

Dec 02 15:57:00 iZm5e9phbzdxx0lysrv9t2Z systemd[1]: Stopped LSB: start and stop MySQL.
Dec 02 15:57:53 iZm5e9phbzdxx0lysrv9t2Z systemd[1]: Starting LSB: start and stop MySQL...
Dec 02 15:57:53 iZm5e9phbzdxx0lysrv9t2Z mysql[2578]: Starting MySQL
Dec 02 15:57:54 iZm5e9phbzdxx0lysrv9t2Z mysql[2578]: . *
Dec 02 15:57:54 iZm5e9phbzdxx0lysrv9t2Z systemd[1]: Started LSB: start and stop MySQL.
Dec 02 16:01:01 iZm5e9phbzdxx0lysrv9t2Z systemd[1]: Stopping LSB: start and stop MySQL...
Dec 02 16:01:01 iZm5e9phbzdxx0lysrv9t2Z mysql[2960]: Shutting down MySQL
Dec 02 16:01:03 iZm5e9phbzdxx0lysrv9t2Z mysql[2960]: .. *
Dec 02 16:01:03 iZm5e9phbzdxx0lysrv9t2Z systemd[1]: mysql.service: Succeeded.
Dec 02 16:01:03 iZm5e9phbzdxx0lysrv9t2Z systemd[1]: Stopped LSB: start and stop MySQL.
root@iZm5e9phbzdxx0lysrv9t2Z:~# 
root@iZm5e9phbzdxx0lysrv9t2Z:~# ps aux | grep mysql
root        3373  0.0  0.0   9032   720 pts/1    S+   16:05   0:00 grep mysql
root@iZm5e9phbzdxx0lysrv9t2Z:~# 

 启动MySQL:

#启动mysql
service mysql start
root@iZm5e9phbzdxx0lysrv9t2Z:~# service mysql start
root@iZm5e9phbzdxx0lysrv9t2Z:~# 
root@iZm5e9phbzdxx0lysrv9t2Z:~# ps aux | grep mysql
root        3407  0.0  0.0   2608  1700 ?        S    16:06   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid
mysql       3637  0.8  8.9 1096848 181272 ?      Sl   16:06   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/mysql.err --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock --port=3306
root        3669  0.0  0.0   9032   724 pts/1    S+   16:06   0:00 grep mysql
root@iZm5e9phbzdxx0lysrv9t2Z:~# 
root@iZm5e9phbzdxx0lysrv9t2Z:~# service mysql status
● mysql.service - LSB: start and stop MySQL
     Loaded: loaded (/etc/init.d/mysql; generated)
     Active: active (running) since Fri 2022-12-02 16:06:20 CST; 1min 7s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 3382 ExecStart=/etc/init.d/mysql start (code=exited, status=0/SUCCESS)
      Tasks: 28 (limit: 2314)
     Memory: 171.3M
     CGroup: /system.slice/mysql.service
             ├─3407 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid
             └─3637 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/mysql.err --p>

Dec 02 16:06:19 iZm5e9phbzdxx0lysrv9t2Z systemd[1]: Starting LSB: start and stop MySQL...
Dec 02 16:06:19 iZm5e9phbzdxx0lysrv9t2Z mysql[3382]: Starting MySQL
Dec 02 16:06:20 iZm5e9phbzdxx0lysrv9t2Z mysql[3382]: . *
Dec 02 16:06:20 iZm5e9phbzdxx0lysrv9t2Z systemd[1]: Started LSB: start and stop MySQL.

启动MySQL成功【如果显示Failed to start mysql.service: Unit mysql.service not found.重启服务器】

五、MySQL操作

1、登录MySQL

进入Mysql安装目录

root@iZm5e9phbzdxx0lysrv9t2Z:~# cd /usr/local/mysql
root@iZm5e9phbzdxx0lysrv9t2Z:/usr/local/mysql# ls
bin  docs  include  lib  LICENSE  man  README  share  support-files
root@iZm5e9phbzdxx0lysrv9t2Z:/usr/local/mysql# bin/mysql -u root -p
Enter password: 

 如果不希望每次都到bin目录下使用mysql命令则执行以下命令

ln -s  /usr/local/mysql/bin/mysql    /usr/bin

2、更改密码(依次执行)

登陆后如果不修改密码就开始操作MySQL,会出现如下提示:

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> 

更改密码: 

SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

3、让navicat能连接MySQL

use mysql                                  #访问mysql库
update user set host = '%' where user = 'root';      	#使root能再任何host访问
FLUSH PRIVILEGES;                             #刷新
  • 放行3306端口让外部连接

#3306 代表端口号
firewall-cmd --zone=public --add-port=3306/tcp --permanent

#刷新生效
firewall-cmd --reload

  • 最后使用navicat连接

六、MySQL一些命令

#查看MySQL状态
service mysql status

#启动MySQL
#service mysql start

#重启MySQL
service mysql reload

Linux安装MySQL - 哔哩哔哩

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/54560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试总结2

用时:40min 自我介绍hashset存储对象怎么进行判断是否重复 Synchronized底层实现原理 Synchronized锁的升级过程 讲讲开发中常用到的spring注解spring事务,传播机制,隔离级别说一说你常用的git命令说一说你对IOC、AOP的理解1、hashset存储对…

[Linux打怪升级之路]-秒懂进程地址空间

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正。 目录 一、C/C下…

【GIT】常用操作总结

一、在本地仓库及远程仓库创建分支,并建立关联关系。 1、创建本地分支,如图: 2、填写分支名称,勾选Checkout branch: 3、提交本地分支到远程分支: 右键选择Git -- Repository -- push: push的时…

Python爬取的网页,需要解码怎么办

前言 本文是该专栏的第26篇,后面会持续分享python的爬虫干货知识,记得关注。 很多时候,在用爬虫采集数据的时候,采集到的源码内容并非我们想要的正确信息,使用正则或者Xpath匹配到的信息也需要我们再次解码才能拿到精准的数据。最近也正是球迷朋友们非常关注卡塔尔世界杯…

[操作系统笔记]基本分段存储管理

内容系听课复习所做笔记,图例多来自课程截图 分段原理 与“分页”最大的区别就是:离散分配时所分配地址空间的基本单位不同 分页是不管程序的逻辑的,规定了页大小就是这么多,但是分段是依据程序自身逻辑来划分的(分页的…

micro-app-源码解析4-数据通信篇-终篇

沙箱篇官方讲解地址 https://github.com/micro-zoe/micro-app/issues/21 1. 带着问题进行阅读 在做框架的时候,没法避免的遇见父子通信和兄弟通信的问题,但是如何实现通信这是个每个框架需要解决的问题。1.1 如何选择父子通信的方式 最好的方式应该是…

IOC操作Bean管理(基于注解方式)

IOC 控制反转,把创建对象过程交给Spring进行管理。 目录 什么是注解 Bean 管理注解方式(创建对象) 基于注解方式实现对象创建 第一步:引入依赖 第二步:开启组件扫描 创建类,在类上面添加创建对象注解…

Python爬虫实战,request+Matplotlib模块,Python绘制一个足球运动员的数据可视化图表

前言 用Python和Matplotlib绘制一个足球运动员的数据可视化图表。 Let’s start happily 开发工具 Python版本: 3.6.4 相关模块: bs4模块 requests模块 pandas模块 matplotlib模块 json模块 numpy模块 环境搭建 安装Python并添加到环境变量…

Sqoop数据导入 第2关:Mysql导入数据至HDFS上

为了完成本关任务,你需要掌握: 1、数据库( MySQL )建表。 2、Mysql 数据导入至 HDFS 中。 数据库( MySQL )建表 用命令进入 MySQL 客户端。 mysql -uroot -p123123 -h127.0.0.1 创建数据库hdfsdb(格式默认为utf8),并在数据库内建立表student,其表结构如下: mys…

通过求解数学模型来选择编码节点的最佳数量和位置(Matlab代码实现)

🍒🍒🍒欢迎关注🌈🌈🌈 📝个人主页:我爱Matlab 👍点赞➕评论➕收藏 养成习惯(一键三连)🌻🌻🌻 🍌希…

【✨十五天搞定电工基础】电阻电路的分析方法

本章要求1. 掌握支路电流法、叠加原理和戴维宁定理等电路的基本分析方法; 2. 了解实际电源的两种模型及其等效变换; 3. 了解非线性电阻元件的伏安特性及静态电阻、动态电阻的概念,以及简单非线性电阻电路 的图解分析法。 目录 一、电阻串并联连接的等效变换 1、…

企业如何有效的防爬虫?

防爬虫,简单来说,就是在尽量减少对正常用户的干扰的情况下尽可能的加大爬虫的成本。 而反防爬虫,或者说制造隐蔽性强的爬虫,就是尽量模拟正常用户的行为。 这两者是动态博弈的。大公司基本都有防爬的项目,以保护数据…

一图了解es6常用数据迭代函数map,filter,fill,reduce

一、一图胜千言 前端开发中,js数组处理是最常用的,除了for循环外,随着es6的普及,像reduce()、filter()、map()、some()、every()以及…展开属性都是最常用到的。 今天偶然从网上看到这张图,真是眼前一亮,真…

盘点JAVA中延时任务的几种实现方式

场景描述 ①需要实现一个定时发布系统通告的功能,如何实现? ②支付超时,订单自动取消,如何实现? 实现方式 一、挂起线程 推荐指数:★★☆ 优点: JDK原生(JUC包下)支持,无需引入新…

RabbitMQ之集群管理

1、在node2、node3、node4三台Linux虚拟机中安装RabbitMQ。 2、从node2拷贝.erlang.cookie到node3、node4的相应目录 如果没有该文件,手动创建/var/lib/rabbitmq/.erlang.cookie ,生成Cookie字符串,或者启动一次RabbitMQ自动生成该文件。生产…

五年Java编程生涯,大专学历最终逆袭阿里,面试+学习+经历分享

五年时间,对于程序员来说,真的非常非常宝贵,掉的头发都够塞满键盘的缝隙了。就说新一代偶像 TFboys 吧,你应该知道这个组合吧,黄金合作期也就三五年的时间,现在基本上就处于各自单飞(solo&#…

深度学习笔记之受限玻尔兹曼机(一)玻尔兹曼分布介绍

机器学习笔记之受限玻尔兹曼机——玻尔兹曼分布介绍引言回顾:Hammersley-Clifford定理玻尔兹曼分布的物理意义引言 从本节开始,将介绍受限玻尔兹曼机。本节将从马尔可夫随机场开始,介绍玻尔兹曼机分布。 回顾:Hammersley-Cliffo…

NCP81239MNTXG 开关降压/升压控制器,USB 功率传递和 Type-C 应用

NCP81239MNTXG USB 功率传递 (PD) 控制器是一款同步降压/升压控制器,适用于为笔记本电脑、平板电脑、台式系统以及很多使用 USB PD 标准和 C−Type 线缆的其他消费设备提供电池电压或适配器电压到所需电源轨的转换。结合使用 USB PD 或 C−Type 接口控制器时完全符合…

【笔记】Java - VM options、Program arguments、Environment variables、eclipse variables

java使用ide开发的时候,运行程序(application)前都要设置启动配置: VM options、Program arguments、Environment variables 很多时候我们是默认配置启动的,所以没太注意。但是如果我们有特殊需求、项目上线时&#xf…

VSCode 安装教程(超详细)

文章目录VSCode 安装使用教程(图文版)那么,什么是 IDE 呢 ?目前,前端开发主流的 IDE 有以下 5 个下边我们开始玩转 VSCodeVSCode 下载、安装Window 版 VScode 安装流程1、下载 Vscode 安装文件2、下载完成单击运行&…