首页 > 数据库 >Linux学习栈记——MySQL安装并远程连接

Linux学习栈记——MySQL安装并远程连接

时间:2024-12-17 10:01:44浏览次数:6  
标签:Linux -- data 栈记 MySQL usr mysql local

本文主要介绍了MySQL的作用和两种安装方法,使用源代码包安装MySQL的方法,并使用Navicat等客户端工具远程连接MySQL。这里以Ubuntu24.04操作系统为例。

基础知识

MySQL的作用

MySQL是一款开源的关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,目前属于Oracle公司旗下产品。它以其体积小、速度快、成本低、开放源码等特点广受中小型网站和开发者的青睐,成为全球最受欢迎的数据库之一。

MySQL支持多种操作系统平台,包括Windows、Linux、macOS等,使得用户可以在不同环境下轻松部署和管理数据库。同时,MySQL还提供了简单易用的SQL语言接口,使得开发者可以方便地进行数据查询、插入、更新和删除等操作。

MySQL的两种安装方式

方法一:通过apt-get安装MySQL。这种简单一些,我们不进行演示,我们主要介绍下面一种方法。

方法二:从源码包安装MySQL

从源码包安装MySQL

下载mysql源码包

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

我选择的是最新的MySQL9.0.1版本。Operating system选择的是Linux Generic,由于我的虚拟机是x86-64位架构,故选择了第一个,请读者根据自己的架构自行选择对应的版本。

随后,用xftp上传到虚拟机

解压文件

在root用户下,先在/usr/local下创建一个mysql目录

cd /usr/local

mkdir mysql

随后,进入你下载的那个目录,解压,解压后会出现一个文件夹,将这个文件夹里的所有内容移动到/usr/local/mysql。

cd /home/youka

tar xf mysql-9.0.1-linux-glibc2.28-x86_64.tar.xz

mv mysql-9.0.1-linux-glibc2.28-x86_64.tar.xz/* /usr/local/mysql

创建data文件夹

在mysql根目录下新建一个文件夹data,用于存放数据

cd /usr/local/mysql

mkdir data

创建mysql用户组和用户

groupadd mysql

useradd -g mysql mysql

改变mysql目录权限

将mysql目录赋予权限

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

或者

chown -R mysql .

chgrp -R mysql .

修改配置文件

修改如下配置文件,如果没有就新建,vim会默认帮你新建

vim /etc/my.cnf

添加如下的内容:

[mysqld]

    basedir = /usr/local/mysql

    datadir = /usr/local/mysql/data

    socket = /usr/local/mysql/mysql.sock

    character-set-server=utf8

    port = 3306

   sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 [client]

   socket = /usr/local/mysql/mysql.sock

   default-character-set=utf8

初始化数据库

(下面是我试错的过程,如果想要正确操作步骤请往后看,先不要复制代码运行!!!)

进入mysql路径,开始初始化:

cd /usr/local/mysql

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

在执行这一步的时候,我报错了:

它说,no such file or directory,这是因为我们没有安装libaio1这个软件。

然后,首先尝试安装它

apt-get install libaio1

结果它跟我说,libaio1已经被弃用…………

然后我在网上寻找资料,得到了解决方案:直接下载deb包

正确操作

进入一个其他路径(如/home/youka),下载libaio1 deb包:

​
wget http://archive.ubuntu.com/ubuntu/pool/main/liba/libaio/libaio1_0.3.110-5_amd64.deb

​

解压安装

dpkg -i libaio1_0.3.110-5_amd64.deb

再进行初始化

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

5y<Hek0RlMqR

上图展示了你的临时密码,后面我们需要进行修改

启动MySQL服务

复制mysql.service服务

复制后,赋予权限

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

chmod +x /etc/init.d/mysqld

配置环境变量

vim /etc/profile

在文件最后一行加上

export PATH=$PATH:/usr/local/mysql/bin

随后设置环境变量立即生效

source /etc/profile

正式启动

service mysql start

到这以为已经畅通无阻了,实际上我又遇到了问题

它说没有这个服务,但实际上我们刚刚复制了mysql.service服务……

又经过了一系列的折腾后,找到了答案:要更新软件包了……

apt-get upgrade

成功启动MySQL服务!

登录并修改密码

mysql -u root -p

输入密码

修改密码,identity by 后面的写你自己的密码,我写的是sql2008

alter user 'root'@'localhost' identified by 'sql2008';

(注意,分号一定要加上!!!!!!!!)

设置可以远程登录

执行下面的sql语句:

use mysql;

update user set host='%' where user='root' limit 1;

flush privileges;

检查sql服务情况

先退出MySQL,按ctrl+d或输入exit即可,随后输入

ps aux|grep mysql

ps -ef|grep mysql

然后,重启mysql服务,后面我们要用Navicat连接MySQL数据库。

service mysql restart

使用navicat远程连接MySQL

我们一般使用Navicat工具进行数据库连接。在我们的Windows系统中,打开navicat。如果没有Navicat,从官网上下载。Navicat本身是收费的,但现在已经推出了Navicat premium 17 Lite版本,这个版本是免费的,相对于企业版丧失了一些数据分析的功能,如果没有这方面需求的读者可以直接下载免费版本:

https://www.navicat.com.cn/download/navicat-premium-lite

打开界面,新建连接

输入自己定义的连接名称、虚拟主机的ip地址(这个可以在Linux系统中输入ifconfig得到)和你修改过的密码,然后测试连接

大功告成!

标签:Linux,--,data,栈记,MySQL,usr,mysql,local
From: https://blog.csdn.net/youka150/article/details/144525691

相关文章

  • Linux 常用命令大全
    1、Linux 管理文件和目录的命令命令功能命令功能pwd显示当前目录ls查看目录下的内容cd改变所在目录cat显示文件的内容grep在文件中查找某字符cp复制文件touch创建文件mv移动文件rm删除文件rmdir删除目录1.1pwd 命令该......
  • linux 端口
    1.查看被占用的端口的进程,netstat/ss-antulp|grep:端口号 ,然后找到对应的进程PID 2.根据PID查询进程。如果想详细查看这个进程,PID具体是哪一个进程,可以通过命令的方式进行查看进程的详细信息,ps-ef|grep进程PID或者ps-aux|grep进程PID通过执行上面的命令,就可......
  • 为什么 Oracle 和 Sql Server 都能用存储过程,到了 MySQL 这却不让用!
    在日常开展MySQL运维工作的过程中,常常会碰到这样一种状况。研发部门的同学总是感到疑惑,他们经常问的一个问题是:为什么在Oracle以及SqlServer这两种数据库里都能够使用存储过程,可一到MySQL这儿,却压根不让用了呢。向DBA询问原因时,得到的回复往往只是说性能不行,但从来......
  • 使用win10 wsl子系统将 rust 程序静态编译为linux可执行文件
    chapterⅠ事情起因最近在学习rust,想把一部分java服务迁移至rust编写,但由于公司服务器都是linux系统,所以在找windows下交叉编译为linux可执行文件的方法,把bing首页搜索的结果试了个遍都不行,始终报错“musl-gcc”无法找到,搜遍全网都无法解决。最终在我不断尝试的过程中逐渐......
  • sql优化--mysql隐式转换
    sql隐式转换在SQL中,隐式转换是数据库自动进行的类型转换,隐式转换可以帮助我们处理不同类型的数据。比如,数据表的字段是字符串类型的,传入一个整型的数据,也能够运行sql。sql隐式转换的弊端sql隐式转换,有可能会导致用不上索引,导致查询变慢。mySqlCAST()函数转换类型CAST(1A......
  • JAVA开源毕业设计 在线文档管理系统 Vue.JS+SpringBoot+MySQL网上订餐系统
    本文项目编号T039,文末自助获取源码\color{red}{T039,文末自助获取源码}......
  • JAVA开源毕业设计 在线文档管理系统 Vue.JS+SpringBoot+MySQL网上订餐系统
    本文项目编号T039,文末自助获取源码\color{red}{T039,文末自助获取源码}......
  • docker安装mysql5.7
    1、宿主机创建映射目录mkdir-p/data/mysql/logmkdir-p/data/mysql/datamkdir-p/data/mysql/conf这里我放在了/data/mysql目录下2、拉取mysql镜像dockerpullmysql:5.7注意是5.7版本,如果是8版本操作会略有不同,下篇文章介绍安装8版本的操作。查看镜像docker......
  • 计算机毕业设计原创定制(免费送源码):Java+Thinkphp+MySQL PHP心理咨询预约平台的设计
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对心理健康咨询等问题,对其进行研究分析,然后开发设计出心理咨询预约平台以解决问题。心理咨询......
  • 计算机毕业设计原创定制(免费送源码):Java+Springboot+MySQL 水环境检测系统的设计与实现
    摘 要在我国,水源的污染是不可忽视的问题。对于水质监测进行数据的采集工作,目前主要通过人工实现。因此,部分地区的采集工作,实施起来难度很大,比如恶劣环境和偏僻山区等地。所以,目前对于水质监测的研究,主导方向是建立更加高效完善,智能化的水质监测系统。近几年,无线传......