作者 | lpl
来源 | lpl (公众号:数据分析从0到1)
前言
高版本的mysql 支持的函数比低版本的要多,比如正则表达式、窗口函数等,常用的msyql5以下都不支持,接下来我们来看一下安装mysql8.0版本遇到的坑有哪些。
安装准备
1、下载安装包
https://dev.mysql.com/downloads/file/?id=476233,进入页面后可以不登录。后点击底部“No thanks, just start my download.”即可开始下载。
2、解压安装包
我解压的是F盘,其中 Data 文件夹和my.ini文件是加压后没有的,后面需要自己创建。
3、配置环境变量
然后再点击 【path--编辑--新建-%MYSQL_HOME%\bin】 ,这样环境变量就配置好了。
4、配置初始化的my.ini文件
datadir=F:\MySQL\mysql-8.0.11-winx64\Data 会自动创建文件夹
[mysqld]
skip-grant-tables
shared-memory
# 设置3306端口
port=3306
# 设置mysql的安装目录 F:\\MySQL\\mysql-8.0.11-winx64
basedir=F:\\MySQL\\mysql-8.0.11-winx64 # 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠。自己尝试吧
# 设置mysql数据库的数据的存放目录
datadir=F:\\MySQL\\mysql-8.0.11-winx64\\Data # 此处同上
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
开始安装
在安装时,必须以管理员身份运行cmd,否则在安装时会报错,会导致安装失败的情况
1、初始化数据库
在MySQL安装目录的 bin 目录下执行命令:
mysqld --initialize --console
其中 (for root@localhost: xxx)冒号后面这个就是你的初始化密码,这个最好是记住,如果记不住后面可以重新设置。
2、安装服务
在bin目录下执行:
mysqld --install
如果出现:The service already exists ! 则安装完毕。
3、启动测试
启动mysql服务:
net start mysql
关闭mysql服务:
net stop mysql
进入mysql服务:
mysql -u root -p
回车,然后输入密码就可以进去。
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
然后退出,重新启动进去输入新密码就可以了。
遇到的问题
1、mysql启动不了,显示启动服务提示系统找不到指定的文件
这里是最需要注意的地方,在安装mysql服务时,一定要切换到mysql安装目录的bin目录下,不管你是否配置环境变量,否则在安装完后启动服务还是会报上面的错误。
切换到bin目录后,先删除前面安装的mysql服务(删除服务不一定要到bin目录),再重新在bin目录下安装mysql服务,然后启动:
进入bin目录下,分别执行:
bin>mysqld --remove
Service successfully removed.
bin>mysqld --install
Service successfully installed.
bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
2、初始化的时候没有记密码
简单粗暴:直接修改密码。
本次操作所有需要用到的命令行:
bin>net stop mysql
bin>mysqld --skip-grant-tables
bin>mysql
bin>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
mysql>flush privileges;
mysql>quit
此时就可以跳过密码直接进去了。
然后此时就可以修改密码了:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
3、修改密码的过程中报错
mysql8出现The MySQL server is running with the --skip-grant-tables option so it cannot execute
解决方案:
先执行
mysql> flush privileges;
然后再执行修改密码
4、mysql 启动完毕后总是自动停止
首先查看错误日志 错误日志在my.ini 里面配置的data里面 然后有个xxx.err文件。
打开文件可以看到
2021-11-16T08:22:11.995028Z 0 [ERROR] [MY-010131] [Server] TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS
2021-11-16T08:22:11.995469Z 0 [ERROR] [MY-010119] [Server] Aborting
解决办法:
my.ini 文件添加行
[mysqld]
shared-memory
以上问题是大部分人遇到的问题,到这里msyql8.0安装结束了。
网友评论