一篇让你上手mysql安装以及my.ini配置

mysql目前已经作为我们常用的数据库了,今天我们学习来安装一下它。

1.下载

从官网上下载安装包(<mark>也可以公众号回复mysql可以获取</mark>)

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

解压

bin:存储可执行文件

data:存储数据文件

include:存储包含的头文件

lib:存储库文件

docs:文档

share:错误消息和字符集文件

2. 安装

1.以<mark>管理员身份(否则会出错)</mark> 打开cmd,切换目录到解压目录D:\software\mysql-5.7.23-winx64\bin下,输入 <mark>mysqld -install</mark> ,安装成功后会出现以下提示。

2.输入 <mark>net start mysql</mark> 出现以下报错,服务无法启动

3.这时要在bin目录下执行 <mark>mysqld --initialize-insecure</mark> ,此命令会在mysql根目录下创建data文件夹

4 再执行 <mark>net start mysql</mark> ,就可以启动mysql服务了

5 登录mysql,执行 <mark>mysql -u root -p</mark>,不用输入密码,直接回车,成功登录mysql

6 修改 root 的密码

<mark>set password for ‘root’@‘localhost’=password(‘123456’);</mark>

3. 使用

一般我们在自己的笔记本或者台式机上进行学习测试的话建议安装一个可视化的数据库软件,这里推荐navicat

<mark>(获取方式:公众号回复mysql可以获取)</mark>

输入自己喜欢的连接名称,然后输入你刚刚设置的密码就可以使用了。

​4. 配置my.ini文件(高阶)

我们安装好之后默认是没有my.ini配置文件的,当我们想修改数据库的配置信息如 wait_timeout、interactive_timeout、max_connections 或大小写敏感时,却找不到my.ini 配置文件。虽然这时,还可以通过命令行来修改配置信息,但重启mysql后修改会失效,配置会回归默认值,所以这种方式治标不治本。

这里提供了另一种方法,解决的基本思路是:

  • 先删除Mysql服务,

  • 然后自己新建一个my.ini文件

  • 最后使用命令行重新初始化mysql服务,同时指定新建的my.ini作为服务默认的配置文件。

1.删除Mysql服务

打开cmd(记得”使用管理员身份“打开)运行 <mark>sc delete MySql</mark>

"MySql"为服务名称,你的MysSql服务不一定是这个名称,可以打开电脑的服务窗口查看。删除完成之后,最好去电脑的服务窗口看下,如果找不到MySql服务,说明已经已经删除成功。

如果还能看到MySql服务,可以手动右击选择”停止“,服务停止之后就会自动消失了。

2.新建my.ini配置文件

在mysql程序的根目录下,新建一个my.ini空白文件,用记事本打开,将以下内容复制进去,保存:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_bin
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = D:\MySQL
datadir = D:\MySQL\data
port = 3306
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

其中basedir 和 datadir 根据实际MySql安装的位置进行修改。

3.重新生成data文件

<mark>删除之前生成的data文件,如果有重要的数据表,请先备份好。</mark>

回到cmd,重新生成data文件。运行:

<mark>mysqld --initialize-insecure --user=mysql</mark>

完成后会在MySql程序文件夹下重新生成名称为data的文件夹:

4.安装MySql服务,同时设置绑定my.ini配置文件

<mark>mysqld --install “MySql80” --defaults-file="d:/mysql/my.ini"</mark>

“MySql80”是服务名称,80表示8.0版本,当然,也可以自己取别的名字。

”…\my.ini“是新建的配置文件的位置,

5.重启服务

如果修改后,重启服务报错,有一种可能:你修改的配置与服务初始化时的配置有冲突,这时只能从头开始,在初始化的时候绑定my.ini文件 。

大家要好好学习数据库呀,之后会陆续推出数据库面试、实战文章。因为作为后端,游戏开发,前端,安卓,PC端开发等都是考点。尤其是服务端开发都是默认你会的,在公司不会给你学习的时间。有些公司甚至连产品都要会sql才有面试的资格。所以打工人加油啊!


优质文章推荐

1.计算机网络----三次握手四次挥手
2.一篇让你彻底了解http请求报文和响应报文的结构
3.梦想成真-----项目自我介绍
4.一篇让你彻底了解HTTP 的前世今生
5.一篇让你彻底搞定HTTP方法与状态码
6.你们要的设计模式来了
7.震惊!来看《这份程序员面试手册》!!!
8.一字一句教你面试“个人简介”
9.接近30场面试分享

全部评论

相关推荐

03-15 14:55
已编辑
门头沟学院 golang
bg:双非学院本&nbsp;ACM银&nbsp;go选手timeline:3.1号开始暑期投递3.7号第二家公司离职顽岩科技&nbsp;ai服务中台方向&nbsp;笔试➕两轮面试,二面挂(钱真的好多😭)厦门纳克希科技&nbsp;搞AI的,一面OC猎豹移动&nbsp;搞AIGC方向&nbsp;一面OC北京七牛云&nbsp;搞AI接口方向&nbsp;一面OC上海古德猫宁&nbsp;搞AIGC方向&nbsp;二面OC上海简文&nbsp;面试撞了直接拒深圳图灵&nbsp;搞AIGC方向一面后无消息懒得问了,面试官当场反馈不错其他小厂没记,通过率80%,小厂杀手😂北京字节&nbsp;具体业务不方便透露也是AIGC后端方向2.28约面&nbsp;(不知道怎么捞的我,我也没在别的地方投过字节简历哇)3.6一面&nbsp;一小时&nbsp;半小时拷打简历(主要是AIGC部分)剩余半小时两个看代码猜结果(经典go问题)➕合并二叉树(秒a,但是造case造了10分钟哈哈)一天后约二面3.12&nbsp;二面,让我挑简历上两个亮点说,主要说的docker容器生命周期管理和raft协议使用二分法优化新任leader上任后与follower同步时间。跟面试官有共鸣,面试官还问我docker底层cpu隔离原理和是否知道虚拟显存。之后一道easy算法,(o1空间解决&nbsp;给定字符串含有{和}是否合法)秒a,之后进阶版如何用10台机加快构建,想五分钟后a出来。面试官以为45分钟面试时间,留了18分钟让我跟他随便聊,后面考了linux&nbsp;top和free的部分数据说什么意思(专业对口了只能说,但是当时没答很好)。因为当时手里有7牛云offer,跟面试官说能否快点面试,马上另外一家时间到了。10分钟后约hr面3.13,上午hr面,下午走完流程offer到手3.14腾讯技术运营约面,想直接拒😂感受:&nbsp;因为有AIGC经验所以特别受AI初创公司青睐,AIGC后端感觉竞争很小(指今年),全是简历拷打,基本没有人问我八股(八股吟唱被打断.jpeg),学的东西比较广的同时也能纵向深挖学习,也运气比较好了哈哈可能出于性格原因,没有走主流Java路线,也没有去主动跟着课写项目,项目都是自己研究和写的哈哈
烤点老白薯:你根本不是典型学院本的那种人,贵了你这能力
查看7道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务