• mysql 8 配置指南


    摘自: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 , 同样可以启动成功。

  • 相关阅读:
    技术学习博2
    正则匹配两个特定词组中间的内容的写法
    springboot mitre HTTP Proxy Servlet POST hang timeout 不执行的解决方案
    JAVA实现的HTTP反向代理 [smiley-http-proxy-servlet]学习
    get方式url传递map的写法,control传入map数据url格式&params[key]=value&params[key2]=value2
    angular7 学习笔记记录--1. TypeScript基础
    Operator '>' cannot be applied to types 'boolean' and 'number'?
    记录在linux环境redis如何重启版本5.x
    ElasticSearch (with docker )入门学习
    Dataway【实测】,让服务飞起来,让SpringBoot不再需要Controller、Service、DAO、Mapper
  • 原文地址:https://www.cnblogs.com/xiaojwang/p/12259963.html
Copyright © 2020-2023  润新知