从零开始学MYSQL - MYSQL安装(下)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 从零开始学MYSQL - MYSQL安装(下)

Mysql启动:



多数情况我们使用mysql.sever启动即可,因为它会间接的调用其他的几个命令,而mysqld_muti这个命令更建议自己实战的时候进行配置的学习使用,更加事半功倍。


mysqld


Mysqld:代表的是mysql的服务器程序,运行就可以启动一个服务器的进程,但是不常用

个人在实践之后使用了mysqld命令之后,发现运行的结果如下,起初比较莫名其妙的问题,但是看日志不难发现问题,其实就是 目录不存在并且mysql又没法给你创建目录,只要使用everything找到对应点文件即可(mac为什么没有这么好用的软件,哎)。

你可以通过找到下面的my.ini文件并且修改里面关于datadir的路径即可。


网络异常,图片无法展示
|


通过打开这个文件发现配置路径里面有一个/Data,然后发现目录里面没有这路径:

# Path to the database root
datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data


下面是上面描述的日志的运行结果,感兴趣的可以自己试一试,也可能遇不到我这种问题


PS C:\Windows\system32> mysqld -datadir=D:\soft\mysqltest
mysqld: Can't change dir to 'C:\Program Files\MySQL\MySQL Server 5.7\data\' (Errcode: 2 - No such file or directory)
2021-10-28T14:20:14.063607Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-10-28T14:20:14.063669Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2021-10-28T14:20:14.064027Z 0 [Note] C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe (mysqld 5.7.35) starting as process 3296 ...
2021-10-28T14:20:14.066088Z 0 [Warning] Can't create test file C:\Program Files\MySQL\MySQL Server 5.7\data\DESKTOP-L8AD9HM.lower-test
2021-10-28T14:20:14.066416Z 0 [Warning] Can't create test file C:\Program Files\MySQL\MySQL Server 5.7\data\DESKTOP-L8AD9HM.lower-test
2021-10-28T14:20:14.067090Z 0 [ERROR] failed to set datadir to C:\Program Files\MySQL\MySQL Server 5.7\data\
2021-10-28T14:20:14.067408Z 0 [ERROR] Aborting
2021-10-28T14:20:14.067619Z 0 [Note] Binlog end
2021-10-28T14:20:14.067904Z 0 [Note] C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe: Shutdown complete


最后你可以运行mysqld启动一个服务器进程并且在对应的目录下面构建了对应的文件。


网络异常,图片无法展示
|


答案的灵感来自于下面的部分:

What I did (Windows 10) for a new installation:

  1. Start cmd in admin mode (run as administrator by hitting windows key, typing cmd, right clicking on it and selecting "Run as Administrator"
  2. Change into "MySQL Server X.Y" directory (for me the full path is C:\Program Files\MySQL\MySQL Server 5.7")
  3. using notepad create a my.ini with a mysqld section that points at your data directory


[mysqld]
datadir="X:\Your Directory Path and Name"


  1. created the directory identified in my.ini above.
  2. change into bin Directory under server directory and execute: mysqld --initialize
  3. Once complete, started the service and it came up fine.


mysqld_safe


mysqld_safe 是一个启动脚本,在间接的调用mysqld ,同时监控进程,使用 mysqld_safe 启动服务器程序时,会通过监控把出错的内容和出错的信息重定向到一某个文件里面产生出错日志,这样可以方便我们找出发生错误的原因。

但是个人实践之后找不到,其实原因是windows没有这个命令的,关于更多mysqld_safe命令的解释可以看看mysql的官方网站:dev.mysql.com/doc/refman/…


如果阅读英文有困难,这里有一个中文的翻译网站:www.docs4dev.com/docs/zh/mys…

对于一些Linux 平台,使用 RPM 或 Debian 软件包安装的 MySQL 包括对 ManagementMySQL 服务器启动和关闭的系统支持。在这些平台上可能被认为没有必要所有没有安装mysql.servermysqld_safe


mysql.server


这个文件同样也是一个启动脚本,也是最常用的脚本,实际上这个命令可以看做是一个链接,也就是一个“快捷方式”,实际指向的路径为: ../support-files/mysql.server,另外这个命令会间接的调用mysqld_safe,我们使用下面的命令就可以直接启动服务:


mysql.server start


如果操作系统在安装之后没有构建相应的链接文件,可能需要自己手动构建一个链接文件,另外,linux服务器需要注意权限的问题,因为有时候没有root权限可能需要对于对应的目录配置用户组,下马是关于官网的介绍

如果从源分发版或使用不自动安装mysql.server的二进制分发版格式安装 MySQL,则 可以手动安装脚本。它可以 support-files在 MySQL 安装目录下的目录或 MySQL 源代码树中找到。将脚本复制到/etc/init.d名为mysql的目录并使其可执行:


shell> cp mysql.server /etc/init.d/mysql
shell> chmod +x /etc/init.d/mysql


最后启动和关闭mysql可以使用如下的方式(linux系统):


mysql.server start
mysql.server stop


如果是windows系统,使用上面的命令会报错,所以我们使用下面的命令即可:


PS C:\Windows\system32> mysql.server start
mysql.server : 无法将“mysql.server”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径
,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ mysql.server start
+ ~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (mysql.server:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
PS C:\Windows\system32> net start mysql
服务名无效。
请键入 NET HELPMSG 2185 以获得更多的帮助。
PS C:\Windows\system32> net start mysql57
请求的服务已经启动。


mysqld_multi


有的时候我们可能会想要在一台的机器上使用多个服务器的进程,这个命令的作用是对于每一个服务器进程进行启动或者停止监控,但是由于这个命令较为复杂,个人还是建议使用上面的官方稳定链接进行具体的细节了解。

如果阅读英文有困难,这里有一个中文的翻译网站:www.docs4dev.com/docs/zh/mys…


window&服务启动


这个简单了解一下即可,window端的mysql基本是为了照顾windows的用户才出现的,真正能施展拳脚的地方还是linux,当然有些公司确实会使用window作为服务器。。。。。所以还是过一下,下面是安装一个windows的服务的命令:


"完整的可执行文件路径" --install [-manual] [服务名]


其中的 -manual 可以省略,区别在于加上会关闭 自动启动改为手动启动

最后下面是个人的mysqld服务安装命令,请读者根据自己的系统环境自行安装即可。


C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld --install


安装之后使用net start mysqlnet stop mysql命令即可启动或者关闭。


Mysql连接


这里只有一个需要注意一下的点那就是对于命令格式来说,如果使用-u、-p等参数的时候使用一个短划线,但是如果使用--username、--password等要使用双划线的形式。


总结


本节内容非常简单,介绍了关于mysql的安装过程的踩坑和四个常见的启动命令,其实我们重点只需要掌握一个命令即可,同时对于部分命令更加建议自己使用的时候边学边记录可以更好的消化和吸收。

以上就是笔者边学习边踩坑的记录,最后发现最好的教程还是官方文档,另外遇到问题也不要慌,先在自己脑海中大胆的猜测问题点,进行验证之后反复重试,踩坑多了之后自然会熟悉。


写在最后


本文算是对于专栏的重新编写,后续会对之前的学习内容做一个复盘和总结。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
1月前
|
Ubuntu 关系型数据库 MySQL
MySQL源码编译安装
本文详细介绍了MySQL 8.0及8.4版本的源码编译安装全过程,涵盖用户创建、依赖安装、cmake配置、编译优化等步骤,并提供支持多Linux发行版的一键安装脚本,适用于定制化数据库部署需求。
238 4
MySQL源码编译安装
|
1月前
|
Ubuntu 关系型数据库 MySQL
MySQL二进制包安装
本文详细介绍了在多种Linux系统上通过二进制包安装MySQL 8.0和8.4版本的完整过程,涵盖用户创建、glibc版本匹配、程序解压、环境变量配置、初始化数据库及服务启动等步骤,并提供支持多发行版的一键安装脚本,助力高效部署MySQL环境。
233 4
MySQL二进制包安装
|
1月前
|
安全 关系型数据库 MySQL
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
本文详细介绍在openSUSE系统上通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,包括下载地址、RPM包解压、GPG密钥导入、使用rpm或zypper命令安装及服务启动验证,涵盖初始密码获取与安全修改方法,适用于无网络环境下的MySQL部署。
346 3
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
|
1月前
|
关系型数据库 MySQL Linux
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
本文介绍了在openSUSE系统上通过SUSE资源库安装MySQL 8.0和8.4版本的完整步骤,包括配置国内镜像源、安装MySQL服务、启动并验证运行状态,以及修改初始密码等操作,适用于希望在SUSE系列系统中快速部署MySQL的用户。
183 3
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
347 5
|
2月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
571 16
|
1月前
|
Ubuntu 关系型数据库 MySQL
MySQL包安装 -- Debian系列(离线DEB包安装MySQL)
本文详细介绍了在Ubuntu 24.04、22.04、20.04及Debian 12系统上,通过离线DEB包安装MySQL 8.0和8.4版本的完整步骤。涵盖下载地址、依赖处理、dpkg安装顺序、配置方法及服务启动验证,确保用户可顺利部署MySQL数据库。
714 0
MySQL包安装 -- Debian系列(离线DEB包安装MySQL)
|
1月前
|
运维 Ubuntu 关系型数据库
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
本文介绍了在Debian系列系统(如Ubuntu、Debian 11/12)中通过APT仓库安装MySQL 8.0和8.4版本的完整步骤,涵盖添加官方源、配置国内镜像、安装服务及初始化设置,并验证运行状态,适用于各类Linux运维场景。
619 0
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
|
1月前
|
Oracle 关系型数据库 MySQL
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)
本文详细介绍在Rocky、CentOS、AlmaLinux、openEuler等主流Linux系统上,通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,涵盖下载、依赖处理、rpm/yum安装、服务启动、密码设置等关键环节,适用于多种企业级环境部署需求。
614 0
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)

推荐镜像

更多