mysql8.0一 服务启动

本文详细介绍在Windows、Ubuntu及macOS系统上安装与配置MySQL的方法,包括创建目录、配置文件、服务管理等步骤,并解决常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明:

本文 - 禁止转载 - 

本文所有观点和概念都系个人总结,难免存在疏漏之处,为不至于诱导初学者误入歧途,望各位以自己实践为准,特此声明。

如有错误请告知

启动

流程 windows 7系统

创建data空目录,创建my.ini文本文件,内容如下:(data目录和my.ini放在mysql目录下,注意目录中反斜杠变成正斜杠或者写成两个反斜杠)

[mysqld]
basedir=[mysql目录]
datadir=[data目录]

输入命令

// 以管理员身份打开CMD
// 切换到mysql的bin目录
>> cd [mysql的bin目录]
// 初始化(确保data目录为空目录)
>> mysqld --defaults-file=[my.ini全路径] --initialize --console

根据提示root@localhost:后面产生随机密码,并记录下密码,如下图

// 启动mysql服务
>> mysqld --console

另外以管理员身份开启一个CMD

// 连接mysql
>> mysql -u root -p

提示输入密码,键入记录的密码,成功后修改密码

// 修改root用户的密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

退出mysql

// 退出mysql
mysql> exit;

问题 windows 7系统

◆ 2059 - authentication plugin 'caching_sha2_password' ...

背景:使用Navicat Premium 12连接mysql弹出提示框显示所列信息;

分析:使用密码的方式不一致;

方法:使用CMD连接mysql,输入如下命令

// 增加或者修改原生密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';

◆ Install/Remove of the Service Denied!

分析:没有以管理员身份启动运行CMD导致的问题;

方法:关闭CMD,以管理员身份运行CMD,并再次输入命令

附录 windows 7系统

// 添加mysql服务
>> mysqld -install
// 移除mysql服务
>> mysqld -remove

续:

// 指定服务名称
>> mysqld -install <服务名称>
// 帮助
>> mysqld --verbose --help

流程 ubuntu系统

第一步:配置mysql8.0

说明:ubuntus16.04默认配置是mysql5.7,须先配置,从https://repo.mysql.com/下载相应版本的配置文件,如下8.10是版本号,如下在8.0的包,默认还是mysql5.7,可以切换到mysql8.0,不过是preview版本,不推荐。

// 下载配置包
wget https://repo.mysql.com//mysql-apt-config_0.8.10-1_all.deb
// 运行配置
dpkg -i mysql-apt-config_0.8.10-1_all.deb

 运行显示如下画面:

       

 第二步 更新

apt update

第三步 安装mysql-server 

apt-get install mysql-server

流程 macos系统

下载:https://dev.mysql.com/downloads/mysql/

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.19-macos10.15-x86_64.dmg

注意

相关命令

apt-get install mysql-server
apt-get remove  mysql-server
apt-get autoremove

使用

用户操作

--- // 创建用户'zhou'@'%' --- 默认密码方式为caching_sha2_password
mysql> CREATE USER 'zhou'@'%' IDENTIFIED BY 'linux';
--- // 授权用户所有权限
mysql> GRANT ALL ON *.* TO 'zhou'@'%';
--- // 为了方便航猫软件连接,修改密码方式为mysql_native_password
msyql> ALTER USER 'zhou'@'%' IDENTIFIED WITH mysql_native_password BY 'linux';
--- // 删除用户'zhou'@'%'
mysql> DROP 'zhou'@'%';

数据库

--- // 创建数据库
mysql> CREATE DATABASE testdb;
--- // 显示所有数据库
mysql> show DATABASES;
--- // 删除数据库
mysql> DROP DATABASE testdb;

 其他

--- // 查看状态(包括版本)
mysql> status
--- // 导入sql
mysql> source *.sql

参考文档

https://dev.mysql.com/doc/refman/8.0/en/windows-install-archive.html

下载地址

官网下载

windows平台mysql8.0.11 x64下载地址

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip

百度网盘

链接:https://pan.baidu.com/s/1rDqhQXwBpM-4O0krHlqmog 密码:qp6j

linux平台mysql8.0.11 64位下载地址

https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

ubuntu配置文件地址:https://repo.mysql.com/

ubuntu在线安装指引:https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/

MySQL 8.0服务无法启动可能由多种原因引起,以下是常见的问题及其解决方法。 ### 错误日志分析 首先需要查看MySQL的错误日志,通常位于`/var/log/mysql/error.log`或`/var/log/mysqld.log`。日志中会记录具体的错误信息,例如端口冲突、权限问题或配置文件错误等。以下是些常见的错误类型: - **端口冲突**:MySQL默认使用3306端口,如果该端口被其他进程占用,则MySQL无法启动。可以通过命令 `netstat -tulnp | grep 3306` 检查端口占用情况,并终止冲突进程或修改MySQL的配置文件`my.cnf`中的端口号[^1]。 - **权限问题**:MySQL需要对数据目录(如`/var/lib/mysql`)具有读写权限。确保MySQL服务运行的用户(通常是`mysql`)拥有该目录的权限。可以通过命令 `chown -R mysql:mysql /var/lib/mysql` 和 `chmod -R 755 /var/lib/mysql` 修改权限[^1]。 - **磁盘空间不足**:如果服务器上的磁盘空间已满,则MySQL无法写入新的数据文件或日志文件。通过命令 `df -h` 检查磁盘空间,并清理不必要的文件以释放空间[^1]。 ### 配置文件检查 MySQL的配置文件`my.cnf`或`my.ini`可能存在语法错误或不兼容的设置。可以使用以下命令验证配置文件的语法: ```bash mysqld --validate-config ``` 如果发现错误,根据提示修正配置文件中的问题。此外,某些新版本的功能可能与旧版本的配置选项不兼容,建议参考MySQL官方文档进行调整。 ### 数据库损坏 在升级或异常关闭后,数据库可能会损坏,导致MySQL无法正常启动。可以尝试使用`--skip-grant-tables`参数跳过权限表启动MySQL,或者使用`mysql_upgrade`工具修复系统表: ```bash mysql_upgrade -u root -p ``` ### 系统资源限制 MySQL对内存和文件描述符有定的需求,如果系统资源不足,可能导致启动失败。可以通过修改系统的ulimit设置来增加文件描述符限制,并确保有足够的内存可用。 ### SELinux或AppArmor安全策略 如果操作系统启用了SELinux或AppArmor,它们的安全策略可能阻止MySQL访问某些资源。可以临时禁用这些安全模块以测试是否是其导致的问题: ```bash setenforce 0 # 仅适用于SELinux systemctl stop apparmor # 适用于Ubuntu/Debian ``` 如果确认是安全策略导致的问题,可以调整相关规则以允许MySQL正常运行。 ### 其他常见问题 - **InnoDB存储引擎问题**:InnoDB是MySQL的默认存储引擎,如果InnoDB相关的文件(如`ibdata1`或日志文件)损坏,MySQL将无法启动。可以尝试删除或重命名这些文件并重新初始化数据库,但需要注意备份重要数据[^1]。 - **SSL证书问题**:如果启用了SSL连接,但SSL证书路径或权限配置错误,也可能导致MySQL无法启动。可以暂时注释掉`my.cnf`中的SSL相关配置以排除问题[^1]。 ### 启动服务 在完成上述检查和修复后,尝试重新启动MySQL服务: ```bash systemctl start mysqld ``` 如果仍然无法启动,可以进步查看详细的错误日志以获取更多信息。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值