非安装版mysql安装

目录

一、下载安装包

 二、解压并创建配置文件

三、安装并初始化MySql

四、问题处理


一直使用的是安装版的MySql,如果想多个版本的MySql存在,安装版会比较麻烦,故尝试使用安装版的MySql。

一、下载安装包

到MySql官网下载压缩包,我下载的是mysql-5.7.38-winx64,可以直接点击此处直达

红框标记的地方可以选择自己需要的版本。

 二、解压并创建配置文件

1、解压文件

解压压缩包mysql-8.0.26-winx64,我放到了F:\tools\MySql\mysql-5.7.38-winx64下面

2、创建配置文件

在MySql的根目录下创建配置文件my.ini,一定要根目录下创建!!!注意basedir和datadir的文件路径分隔符。

[mysqld]
# 设置3306端口
port=3306
 
# 自定义设置mysql的安装目录,即解压mysql压缩包的目录
basedir=F:/tools\MySql\mysql-5.7.38-winx64
 
# 自定义设置mysql数据库的数据存放目录
datadir=F:/tools\MySql\mysql-5.7.38-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
 
# 解决group by问题
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
# lower_case_table_names=1

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[client]
# 设置mysql客户端连接服务端时默认使用的端口和默认字符集
port=3306
default-character-set=utf8


三、安装并初始化MySql

1、初始化MySql

在bin文件夹下启动cmd(管理员打开!!!),并输入mysqld --initialize --user=mysql --console   后回车

F:\tools\MySql\mysql-5.7.38-winx64\bin>mysqld --initialize --user=mysql --console
2022-08-04T14:56:42.978966Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-08-04T14:56:43.122491Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-08-04T14:56:43.148605Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-08-04T14:56:43.222098Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: a74747be-1405-11ed-a512-005056c00001.
2022-08-04T14:56:43.225128Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2022-08-04T14:56:44.197118Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2022-08-04T14:56:44.197416Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2022-08-04T14:56:44.199966Z 0 [Warning] CA certificate ca.pem is self signed.
2022-08-04T14:56:44.745047Z 1 [Note] A temporary password is generated for root@localhost: MMmi(hXRy3O:

最后会出现一串密钥,要记住。(跟在root@localhost:后面)

记住此时的临时密码,在之后会用到它。

2、安装MySql为系统服务

输入 mysqld --install 服务名 ,服务名可以自己指定,如果有多个版本的MySql可以通过名字区分

F:\tools\MySql\mysql-5.7.38-winx64\bin>mysqld --install MySql5.7
Service successfully installed.

3、启动服务

输入  net start MySql5.7 启动服务(MySql5.7是服务名)

输入 mysql -u root -p 之后会提示输入密码(密码为之前密钥)

4、修改密码

第1步中生成的密码太复杂了,不方便使用,可以修改的简单一些

使用命令ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'修改密码

四、问题处理

1、Can't create/write to file 'F: ools\MySql\mysql-5.7.38-winx64\data\is_writable

刚开始basedir和datadir的文件路径如下:

# 自定义设置mysql的安装目录,即解压mysql压缩包的目录
basedir=F:\tools\MySql\mysql-5.7.38-winx64
 
# 自定义设置mysql数据库的数据存放目录
datadir=F:\tools\MySql\mysql-5.7.38-winx64\data

结果提示创建失败,提示:Can't create/write to file 'F:  ools\MySql\mysql-5.7.38-winx64\data\is_writable

F:\tools\MySql\mysql-5.7.38-winx64\bin>mysqld --initialize --user=mysql --console
mysqld: Can't create/write to file 'F:  ools\MySql\mysql-5.7.38-winx64\data\is_writable' (Errcode: 2 - No such file or directory)
2022-08-04T14:56:12.551705Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-08-04T14:56:12.552375Z 0 [ERROR] Can't find error-message file 'F:\tools\MySql\mysql-5.7.38-winx64\bin\    ools\MySql\mysql-5.7.38-winx64\share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2022-08-04T14:56:12.554216Z 0 [ERROR] --initialize specified but the data directory exists and is not writable. Aborting.
2022-08-04T14:56:12.554652Z 0 [ERROR] Aborting

 刚开始以为是DOS窗口权限的问题,后来改为管理员权限运行依然是这个问题,仔细查看发现提示信息盘符后面的\没有了,怀疑可能是分隔符的问题。修改为文章开始的样子即可。

2、登录时提示找不到文件

如果生成的临时密码包含<,那么恭喜你中奖了,我第一次生成的时候产生的密码包含这个字符,登录提示找不到文件,无奈只能删除data目录重新重头开始安装

其他问题请参照另一篇文章《MySql常见错误及处理方案》

猜你喜欢

转载自blog.csdn.net/caicaimaomao/article/details/126082868