摘自:https://www.cnblogs.com/SamWeb/p/7922490.html
1、下载解压版,解压至C盘:
2、配置环境变量
环境变量的配置,和java的配置方式一致,就是把MySQL 的bin路径 C:mysql-8.0.18-winx64in,放到环境变量中。配置完成后,打开cmd命令窗口,输入mysql -V, 如果输出版本号,表示配置成功。
3、MySQL 配置
新建mysql 8 服务。打开我们解压后的文件夹,就是C盘下的mysql-8.0.18-winx64 文件夹,新建一个my.ini文件
然后双击它,用记事本打开, 输入如下内容并保存。
[client]
port=3306
default-character-set=utf8
[mysqld]
# 设置为自己MYSQL的安装目录
basedir=D:mysql-5.7.20-winx64
# 设置为MYSQL的数据目录
datadir=D:mysql-5.7.20-winx64data
port=3306
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
#开启查询缓存
explicit_defaults_for_timestamp=true
skip-grant-tables
使用cmd运行命令,完成配置,这里一定用管理员身份运行cmd.
1, 启动cmd命令窗口。win10 系统下,桌面状态栏中有一个圆圈(下图底部的圆圈)表示搜索,点击,出来搜索框,在搜索框中输入cmd
在上图中的命令提示符中,单击右键,出来如下内容,选择以管理员身份运行就可以了。
2, 在cmd窗口中,切换到mysql的bin目录C:mysql-8.0.11-winx64in,输入mysqld --initialize (mysqld --initialize --user=mysql --console)初始化mysql,生成data文件夹中的文件。如果没有报错,就表示初始化完成。我在这里出现了一个报错,Error while setting value 'NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER' to 'sql_mode'. 经查,是因为在my.ini 文件夹中有
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
把它删除以后,再执行mysqld --initialize ,没有报错了。然后执行mysqld --install 命令。输入 mysqld --install 命令,安装MySQL. 如果出现Service successfully installed 说明注册成功了 ,现在终于可以启动服务器了。最好先关闭命令窗口再重新打开, net start mysql 命令启动服务器。关闭服务器用net stop mysql
但是在我这里,net start mysql 的时候,一直不成功,这时提示 MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。在这个地方查询了很久。终于找到了解决办法。如果服务启动不成功,可以打印一下日志看一看,输入mysqld --console, 看到一个error, TCP/IP, --shared-memory, or --named-pipe should be configured, 百度一下这个错误,原来是要在my.ini 文件中加入shared-memory
把skip-grant-tables
从my.ini去掉,或者加上shared-memory
,可以解决这个问题。注意当skip-grant-tables
去掉后,就必须记住生成的随机密码,然后要新建数据库,就需要alter user
来更改密码。
[client] port=3306 default-character-set=utf8 [mysqld] # 设置为自己MYSQL的安装目录 basedir=E:mysql-8.0.18-winx64 # 设置为MYSQL的数据目录 datadir=E:mysql-8.0.18-winx64data port=3306 character_set_server=utf8 #开启查询缓存 explicit_defaults_for_timestamp=true #跳过数据库权限验证 skip-grant-tables #联接方式 shared-memory
4,MySQL 登录和退出
由于在my.ini中,我们设置了skip-grant-tables 和sharee-memory, 不需要登录,就可以直接操作mysql 了。直接输入mysql 按回车就了。如果登录的话,就涉及到MySQL 命令的常用参数: -u: u代表username, 表示用户名; -p: p 代表password, 表示登录密码; -h: host-name主机名; -P: port 端口。
所以我们要登录MySQL,需要提供用户名,密码,主机名,端口号信息。语法 mysql [-u username] [-h host] [-p[password]]; 安装MySQL后,我们会得到初始的用户名root, 但没有初始密码,但输入密码怎么办?随便输入即可。如果访问本地服务器的话和使用mysql的默认端口时,-h和-P可以不写。 现在我们就登录一下, 在这之前要先启动mysql服务器。这里还是要以管理员的身份运行powershell
当我们在命令行中输入mysql -u root -p 后,提示我们输入密码,这时输入mysql, 就可以登录到mysql 了。
现在我们就可以操作数据库了。
当然操作完成后还是要退出的,mysql退出有如下三种方法。注意,每一行语句要以; 分号结尾。如果按enter,你会发现它会另起一行,有一个箭头,表法该语句并没有结束。 exit; quit; q;
但某一天,启动mysql时,突然报错发生系统错误,系统找不到指定的文件。当时有点懵,安装mysql 之后,一直就没有修改过,怎么会报错呢?上网搜索了一下,重新安装一下mysql服务就可以了,现在也不知道什么原因。
以管理员身份打开CMD命令窗口,切换到mysql 的bin 目录下, 注意,以管理员身份运行时,cd 命令后面要加 /d 才能切换目录。
执行mysqld --remove 命令,把以前的服务删除。
执行mysqld --install 命令,重新安装mysql 服务。
现在执行net start mysql 启动服务器。
服务器启动成功。
现在我们重新打开一个命令窗口,不用切换到mysql目录下,执行net start mysql , 同样可以启动成功。