windows安装mysql8
2021-04-01 本文已影响0人
IT小池
官网下载地址
下载完成后,直接解压,重命名为mysql8
,首先,安装前先查询一下是否有安装过Mysql,输入如下:
sc query mysql
查看名为mysql的服务,如有直接卸载,输入卸载命令
sc delete mysql
删除该mysql ,然后命令窗口进入到mysql根目录
下,创建一个文件my.ini
,内容如下:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录(注意 :如果 \ 初始化找不到目录,就改成 / )
basedir=D:/soft/mysql8
# 设置mysql数据库的数据的存放目录
datadir=D:/soft/mysql8/data
# 允许最大连接数
# max_connections=200
# 允许连接失败的次数。
# max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
在 MySQL 根目录下创建 data
目录
以上完成后,进入bin
目录下(注意:必须以管理员身份打开命令窗口
),执行
d:\web\mysql8\bin>mysqld --initialize --console
该命令,初始化data,如看到
D:\soft\mysql8\bin>mysqld --initialize --console
2021-04-01T02:19:11.324773Z 0 [System] [MY-013169] [Server] D:\soft\mysql8\bin\mysqld.exe (mysqld 8.0.22) initializing of server in progress as process 13220
2021-04-01T02:19:11.379386Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-04-01T02:19:17.715110Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-04-01T02:19:28.212481Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: A>l0aJkthAQm
即初始化成功,并复制一下初始化密码,后面登录用,在接着执行安装命令
mysqld -install mysql8
Service successfully installed.
mysql8是服务名称,出现以上表示安装成功,接着执行启动命令,
d:\web\mysql5.7\bin>net start mysql8
mysql57 服务正在启动 .
mysql57 服务已经启动成功。
然后可以在 windows 服务列表中查看到一个名称为 mysql57 的服务,到此安装完成,安装失败,可以通过命令
mysqld –console
查看错误信息
登录并修改密码
cmd输入命令:
mysql -u root -p
输入刚才复制的初始化密码,登录成功进入 mysql,执行命令
mysql> use mysql;
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
报错了,接着执行:
#立即生效
mysql> flush privileges;
# 再次执行密码修改命令
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.02 sec)
ok了,root 账户密码修改成功。如果需要配置 root 用户远程登陆,执行命令
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
或者执行命令:
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
mysql> flush privileges;
即可。
说明:其中"."代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址,也可以使用一个唯一的地址进行替换,只有一个地址能够访问。如果是某个网段的可以使用地址与%结合的方式,如10.0.42.%。IDENTIFIED BY 'root',这个root是指访问密码。WITH GRANT OPTION允许级联授权。
这里说一下,安装过程中遇到问题
1.如果在窗口执行命令的时候,出现由于找不到MSVCR120.dll 无法继续执行代码,重新安装程序可能会解决此问题
,这种错误是由于未安装 vcredist 引起的,[下载vcredist](https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
),下载完成直接安装即可,
2.MySql8 服务无法启动。服务没有报告任何错误,请键入 NET HELPMSG 3534 以获得更多信息
解决办法是:先删掉原来的data,然后卸载 mysql,然后输入mysqld --initialize初始化data,再次安装,即可。
参考文章:https://blog.csdn.net/qq_37350706/article/details/81707862