windows10安装mysql(解压版)初始化报错

windows10安装mysql(解压版)初始化报错,第1张

方法/步骤

1

压缩包安装方式

从官网上下载mysql-5.7.18-winx64.zip,将其解压,接下来的安装是通过命令来安装MySQL数据库的。

(1)mysql-5.7.18-winx64.zip解压到D:\文件下,解压目录如下:

(2)配置环境变量

编辑path系统变量,将%MYSQL_HOME%\bin添加到path变量后,如果是里面含有多个,请添加到最后,以分号;为分隔符

Path:

D:\mysql-5.7.18-winx64\bin

(3)(如果不是管理员的请打开命令提示符以管理员身份运行),运行cmd命令行窗口,cd到D:\mysql-5.7.18-winx64\bin下

命令为:cd  /d D:\mysql-5.7.18-winx64\bin

(3)安装MySQL

mysqld  install,运行命令后报错,提示“无法启动此程序,因为计算机中丢失MSVCR120.dll。尝试重新安装该程序已解决问题”

解决方案:上网下载MSVCR120.dll文件,放在C:\Windows\System32文件夹中,或者去C:\Windows\System32 ,查找一下MSVCR120.dll文件,我的电脑发现了msvcr120_clr0400.dll  这个文件,所以复制一份副本,然后改了一下副本的文件名即可。

同时还需要msvcp120.dll这个文件,请没有的筒靴一并处理了。

有的电脑可能安装某种程序,是不会有提示的。因为这些文件已经存在。

(4)继续运行命令:

mysqld install 成功安装mysql服务

(5)启动MySQL服务。

net start mysql将启动MySQL服务。值得注意的是用命令安装的MySQL在Windows系统下默认服务名为mysql,默认密码为空。

-------运行结果:报错

解决方案:cmd命令行提供的错误消息有限,所以我们需要找到mysql的错误日志,分析日志进而得出是什么问题。

进D:\mysql-5.7.18-winx64目录下,创建一个文件夹data目录用以存放日志。

然后重新运行 net start mysql,来生成日志文件。

D:\mysql-5.7.18-winx64\data文件夹中生成的文件中,有一个文件名是以.err后缀的文件,这个就是报错信息日志,我的电脑上PC-201511181234.err,前面是计算机的名字。

(6) 查看日志文件

用uedit64 打开PC-201511181234.err ,发现有如下的错误

2017-06-28T09:21:53.475478Z 0 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

......

2017-06-28T09:21:53.595485Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

2017-06-28T09:21:53.598485Z 0 [ERROR] Aborting

....

原因分析:没有一个初始化数据库,不能启动mysql守护进程。

(7) 初始化数据库--建立配置文件my.ini和删除data目录

删除掉D:\mysql-5.7.18-winx64目录下的data目录。否则运行初始化数据库命令也会报错。

新建一个文件名字:my.ini放到bin目录,文件内容:

[mysqld]

basedir=D:\mysql-5.7.18-winx64        ----mysql安装的目录

datadir=D:\mysql-5.7.18-winx64\data -----mysql下data目录

(如果不放my.ini到bin目录,运行初始化数据库命令就会报错:

2017-06-28T09:32:22.326446Z 0 [ERROR] --initialize specified but the data direct

ory exists and is not writable. Aborting.

(8) 初始化数据库

命令行执行: mysqld --initialize --user=mysql --console

先执行以上命令, 生成库. 注意有个临时密码, 要记下来.

最后一行:loaclhost:moMlyqX#j6Ky,其中moMlyqX#j6Ky这个就是临时密码,你登陆mysql数据库的时候需要用到。

(9) 启动服务

net start mysql----启动mysql服务

net stop mysql----停止mysql服务

如果不运行服务,直接进入mysql,会报错:

(8) 进入MySQL并修改密码

mysql -u root -p,密码为moMlyqX#j6Ky。显示“mysql>”表示进入MySQL

修改密码:

mysql>set password = password('root')

安装MySQLmysql-5.6.14可以参考如下安装步骤:

1、将解压缩后的文件放到自己想要的地方,并配置环境变量。示例中存放的目录为:F:\mysql\mysql-5.6.14-winx64

2、在环境变量中添加:MYSQL_HOME:F:\mysql\mysql-5.6.14-winx64,在path路径中加入:%MYSQL_HOME%\bin。配置环境变量不是必须的,只是为了能更方便的在命令行中使用mysql的命令行工具。

3、修改ini配置文件

5.6.14的解压缩版里有一个my-default.ini文件,copy一份改名为my.ini放在同级目录下。修改my.ini, 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.

[mysqld]

loose-default-character-set=utf8

basedir = F:/mysql/mysql-5.6.14-winx64

datadir = F:/mysql/mysql-5.6.14-winx64/data

[client]

loose-default-character-set=utf8

[WinMySQLadmin]

Server=F:/mysql/mysql-5.6.14-winx64/bin/mysqld.exe

# 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

# 设置mysql的安装目录

# 设置mysql数据库的数据存放目录

# These are commonly set, remove the # and set as required.

# basedir = .....

# datadir = .....

# port = .....

# server_id = .....

character-set-server=utf8

# 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 = 2M

# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

4、安装服务

开始——所有程序——附件——命令提示符,右键以管理员身份运行。 输入命令:

C:\>f:

F:\>cd F:\mysql\mysql-5.6.14-winx64\bin

F:\mysql\mysql-5.6.14-winx64\bin>mysqld -install

Service successfully installed.

5、启动服务

F:\mysql\mysql-5.6.14-winx64\bin>cd\

F:\>net start mysql

MySQL 服务正在启动 .

MySQL 服务已经启动成功。

6、配置用户

还在上面的命令窗口里面,输入命令:mysql -u root -p

回车后提示输入密码。

mysql解压缩版初次安装管理员root的密码为空,因此直接再回车一次就登入mysql数据库了。

F:\>mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with or \g.

Your MySQL connection id is 1

Server version: 5.6.14 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help' or '\h' for help. Type '\c' to clear the current input statement.

成功后

输入命令:use mysql/*使用mysql数据库*/

mysql>use mysql

Database changed

输入命令:select host,user,password from user/* 查看系统的账户信息 */

mysql>select host,user,password from user

+-----------+------+----------+

| host | user | password |

+-----------+------+----------+

| localhost | root | |

| 127.0.0.1 | root | |

| ::1 | root | |

| localhost | | |

+-----------+------+----------+

4 rows in set (0.00 sec)

host:代表mysql服务允许哪个IP来的请求。localhost和127.0.0.1指mysql服务所在的主机,即本地。::1是IPV6的IP地址写法,

全称为:0000:0000:0000:0000:0000:0000:0000:0001。现在都是IPV4的网络,可以不用管他。

user:指账户名称。不同的host下账户名称可以相同。

password:密码。

可以看到,默认账户里只支持本地连接,并且账户没有密码。现在的问题明确了,就是要将匿名用户删除,为root用户添加远程访问和密码,再为自己添加个人账户。指令如下:

mysql>update user set password=PASSWORD('root') where user='root'

Query OK, 3 rows affected (0.00 sec)

Rows matched: 3 Changed: 3 Warnings: 0

mysql>grant all on *.* to root@'%' identify by 'root'

ERROR 1064 (42000): You have an error in your SQL syntaxcheck the manual that

corresponds to your MySQL server version for the right syntax to use near 'ident

ify by 'root'' at line 1

mysql>grant all on *.* to walle@'%' identify by '123456' with grant option

ERROR 1064 (42000): You have an error in your SQL syntaxcheck the manual that

corresponds to your MySQL server version for the right syntax to use near 'ident

ify by '123456' with grant option' at line 1

mysql>delete from where user=''

ERROR 1064 (42000): You have an error in your SQL syntaxcheck the manual that

corresponds to your MySQL server version for the right syntax to use near 'where

user=''' at line 1

mysql>select host,user,password from user

+-----------+------+-------------------------------------------+

| host | user | password |

+-----------+------+-------------------------------------------+

| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

| ::1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

| localhost | | |

+-----------+------+-------------------------------------------+

4 rows in set (0.00 sec)

mysql>commit

Query OK, 0 rows affected (0.00 sec)

mysql>flush privileges

Query OK, 0 rows affected (0.00 sec)

解压MySQL(F:\Program Files\MySQL\)MySQL安装目录 二 新建my.ini \x0d\x0a在F:\Program Files\MySQL\下建立my.ini文件,内容为 my.ini \x0d\x0a[mysqld] \x0d\x0a# 设置mysql的安装目录 \x0d\x0abasedir=F:\\Program Files\\MySQL \x0d\x0a# 设置mysql数据库的数据的存放目录,必须是data,或者是\\xxx-data datadir=F:\\Program Files\\MySQL\\data # 设置mysql服务器的字符集,默认编码 default-character-set=latin1 \x0d\x0a \x0d\x0a[client] \x0d\x0a# 设置mysql客户端的字符集 default-character-set=latin1 \x0d\x0a \x0d\x0a[WinMySQLAdmin] \x0d\x0a\x0d\x0a# 指定mysql服务启动启动的文件 \x0d\x0aServer=F:\\Program Files\\MySQL\\bin\\mysqld.exe \x0d\x0a \x0d\x0a三 注册MySQL服务,使MySQL可以在服务项目中启动或关闭 \x0d\x0a 1)进入安装目录\bin,执行: \x0d\x0aF:\Program Files\MySQL\bin>mysqld -install \x0d\x0a显示:Service successfully installed. 则注册服务成功。 \x0d\x0a如果要删除服务: \x0d\x0aF:\Program Files\MySQL\bin>mysqld -remove 2)修改注册表: \x0d\x0aHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MySQL\ImagePath 修改为: \x0d\x0a"F:\Program Files\MySQL\bin\mysqld" --defaults-file= "F:\Program Files\MySQL\my.ini" MySQL \x0d\x0a这样配置就可以使用net start mysql命令正常启动MySQL。 \x0d\x0a四 修改root密码 \x0d\x0aMySQL配置好后,启动成功,默认密码是空,但是为了安全,设置密码(一般用户名为root,密码为root)。 \x0d\x0a1)登录MySQL root用户: \x0d\x0a 进入MySQL安装目录\bin,执行: \x0d\x0a F:\Program Files\MySQL\MySQL-6.0.7\bin>mysql -u root2)修改root密码: \x0d\x0a mysql>update mysql.user set password=PASSWORD(''新密码'') where User=''root'' \x0d\x0a mysql>flush privileges


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8584817.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存