mysql 8 配置指南

摘自:https://www.cnblogs.com/SamWeb/p/7922490.html

1、下载解压版,解压至C盘:

 2、配置环境变量

  环境变量的配置,和java的配置方式一致,就是把MySQL 的bin路径 C:\mysql-8.0.18-winx64\bin,放到环境变量中。配置完成后,打开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-winx64\data
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-winx64\bin,输入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-winx64\data
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 , 同样可以启动成功。

posted @ 2020-02-04 16:42  xiaoj_wang  阅读(705)  评论(1编辑  收藏  举报