zoukankan      html  css  js  c++  java
  • MySQL.8.0.11安装

    环境:Win7x64、Win10x64、MySQL 8.0.15(下载于官方网站)

    ZC:下面,第10,有自己机子上安装的过程,简单一些,直接无脑照着做就行

    ZC:步骤还是比较少的,还蛮清晰的。主要的就是:(1)配置文件,(2)初始化操作,(3)安装服务,即可。

    1、参考:MySQL-mysql 8.0.11安装教程 - Laumians - 博客园.html(http://www.cnblogs.com/laumians-notes/p/9069498.html

    2、我的过程记录 (这里都以 YeJun的机子来说)(所有的 命令行都是在 管理员权限下的CMD或PowerShell中执行

     (1)文中 关于环境变量的设置我最后发现可以不用设置...

      (A) 设置了可能方便点,任何路径都可以用。

      (B) 但是不设置环境变量也可以啊,只不过 要进到MySQL的目录中再到bin文件夹中 去执行命令。稍烦 但是 个人觉得简洁一点,是个软件就要设置环境变量 设的里面又满又乱,混在一起 ...

     (2)解压 mysql-8.0.15-winx64.zip,至 E盘根目录,于是 可执行文件的目录为 "F:mysql-8.0.15-winx64in"

      然后将我们的 my.ini文件 放到目录"F:mysql-8.0.15-winx64"中

      下面开始 执行的命令 CMD/PowerShell都位于 位于路径"F:mysql-8.0.15-winx64in"中

     (3)初始化:命令可以为:(CMD位于路径"F:mysql-8.0.15-winx64in"中)

      PS:初始化操作,会自动在 目录"F:mysql-8.0.15-winx64"下生成 "datadir"所指明的文件夹,不需要手动创建该文件夹

      PS:初始化时,会报警告说 MySQL建议使用"UTF8MB4"编码(警告信息为:"2019-02-20T01:11:36.382418Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous."),于是我使用了 "UTF8MB4"编码。

      (A) "mysqld --initialize --console":初始化时的一些信息 显示在控制台

      (B) "mysqld --initialize":

       (B.1) my.ini中未配置"log-error":初始化时的一些信息保存在 "datadir"下的 ?.err文件 中

       (B.2) my.ini中配置了"log-error":初始化时的一些信息保存在 "log-error"所指明的文件中

      (C) 参考:我在搜索文章的时候看到的,用于参考吧:"mysqld --initialize-insecure" 、 "mysqld --initialize --user=mysql --console"

     (4)安装服务  ("mysqld --install 服务名")  (不喜欢服务"自动"启动的话,记得 去改一下)

      例如:"mysqld --install mysql8015"

      删除服务:"sc delete mysql8015"、"mysqld -remove mysql8015"(这里也可以是"--remove"),如果执行的是 "mysqld -remove"的话 会默认将服务名为MySQL的服务删掉...! ! !

     (5)开始结束服务:

      "net start mysql8015" 、 "net stop mysql8015"

      PS:不用 服务的方式启动的话,直接执行命令"mysql"(这个可以通过查看服务的内容看到命令行的内容),只不过要保持一个CMD窗口不关闭(Linux里面的话 应该只要 命令的后面加一个" &",就不用占用一个终端窗口了)

     (6)改root密码

      (A) CMD中命令 "mysql -u root -p",登入到 MySQL里面

      (B) MySQL里面

    mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'dongruisoft.com';
    Query OK, 0 rows affected (0.22 sec)
    
    mysql>

        ZC:上面显示 "0 rows affected" 是表示成功的,我刚开始还以为是不成功...(可以exit退出 然后重新登录来验证一下)

     (7)授权 远程访问数据库:(网上说这个方式 不好,但我觉得就这个方式最简单最好记...)

    F:mysql-8.0.15-winx64in>mysql -u root -p
    Enter password: ***************
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 10
    Server version: 8.0.15 MySQL Community Server - GPL
    
    Copyright (c) 2000, 2019, 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.
    
    mysql> select user,host,authentication_string from mysql.user;
    +------------------+-----------+------------------------------------------------------------------------+
    | user             | host      | authentication_string                                                  |
    +------------------+-----------+------------------------------------------------------------------------+
    | mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
    | mysql.session    | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
    | mysql.sys        | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
    | root             | localhost | *9454708D80C4818F4267B0CF5AADF3F864CFA995                              |
    +------------------+-----------+------------------------------------------------------------------------+
    4 rows in set (0.00 sec)
    
    mysql> update user set host='%' where user='root';
    ERROR 1046 (3D000): No database selected
    mysql> use mysql;
    Database changed
    mysql> update user set host='%' where user='root';
    Query OK, 1 row affected (0.06 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> select user,host,authentication_string from mysql.user;
    +------------------+-----------+------------------------------------------------------------------------+
    | user             | host      | authentication_string                                                  |
    +------------------+-----------+------------------------------------------------------------------------+
    | root             | %         | *9454708D80C4818F4267B0CF5AADF3F864CFA995                              |
    | mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
    | mysql.session    | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
    | mysql.sys        | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
    +------------------+-----------+------------------------------------------------------------------------+
    4 rows in set (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.04 sec)
    
    mysql>

      ZC:"flush privileges;"命令 一定要执行,不然修改不会马上生效 远程还是会连不上的

    3、

    4、遇到的一些问题:

     4.1、初始化操作时,报错:“2019-02-20T01:09:28.333406Z 0 [ERROR] [MY-010338] [Server] Can't find error-message file 'F:mysql-8.0.11-winx64shareerrmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.”

      ZC:我的是 "mysql-8.0.15-winx64",但是 我直接复制了网页文章中的路径 "mysql-8.0.11-winx64",于是就包这个错误了...

     4.2、临时密码 注意点:

    2019-02-20T01:18:40.321702Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: -U)-hB7npio.

      ZC:向上面是这样的临时密码信息中,最后的字符 点".",它不是 标点符号 它也是密码的一部分...

     4.3、YeJun的机子相关:

      (1) 初始化的时候(使用命令"mysqld --initialize --console"时),控制台上老是有 'D:phpevtmysqlshareenglisherrmsg.sys' 相关的报错信息,我就把 "D:phpevtmysql"相关的环境变量删掉了,如下图中所示

       (A)这个删的是 "MYSQL_HOME"

        

       (B)这个删的是 "PATH"中的一部分"%MYSQL_HOME%in"

        

        然后,我初始化操作 就OK了

      (2) 但是我 "net start mysql8015"的时候,老是失败,还是提示说没有任何信息...于是我在 my.ini中配置了 "log-error",得到了 出错时的信息:

    2019-02-20T05:22:52.216003Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
    2019-02-20T05:22:52.216075Z 0 [System] [MY-010116] [Server] F:mysql-8.0.15-winx64inmysqld (mysqld 8.0.15) starting as process 13788
    2019-02-20T05:22:52.236578Z 0 [ERROR] [MY-010340] [Server] Error message file 'D:phpevtmysqlshareenglisherrmsg.sys' had only 886 error messages, but it should contain at least 4775 error messages. Check that the above file is the right version for this program!
    2019-02-20T05:22:52.253746Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
    2019-02-20T05:22:52.413149Z 1 [ERROR] [MY-013090] [InnoDB] Unsupported redo log format (0). The redo log was created before MySQL 5.7.9
    2019-02-20T05:22:52.413169Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error.
    2019-02-20T05:22:52.616436Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
    2019-02-20T05:22:52.617231Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
    2019-02-20T05:22:52.629873Z 0 [ERROR] [MY-010119] [Server] Aborting
    2019-02-20T05:22:52.630985Z 0 [System] [MY-010910] [Server] F:mysql-8.0.15-winx64inmysqld: Shutdown complete (mysqld 8.0.15)  MySQL Community Server - GPL.

        看到,还是"D:phpevtmysql???"的问题,环境变量都检查过了 相关的都删掉了。没办法了,想到还没重启OS,于是重启了一下 就没有 这个问题了...

      (3) 在删除我的MySQL的服务的时候,未进行深入思考 就执行了"mysqld -remove",导致 "D:phpevtmysql"对应的服务 MySQL被删掉了...

        我记得应该是对应的 命令"D:phpevtmysqlinmysqld"(我看了一下,"D:phpevtmysqlinmysqld.exe确实是存在的"),但是我不敢确定...

    5、my.ini(网上看到,有人是 命名为 my-default.ini的,没有再去尝试这个文件名行不行了...)

     5.1、网页文章中的信息

    [mysqld]
    # 设置3306端口
    port=3306
    # 设置mysql的安装目录
    basedir=E:\software\mysql\mysql-8.0.11-winx64   # 切记此处一定要用双斜杠\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠。自己尝试吧
    # 设置mysql数据库的数据的存放目录
    datadir=E:\software\mysql\mysql-8.0.11-winx64\Data   # 此处同上
    # 允许最大连接数
    max_connections=200
    # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
    # 服务端使用的字符集默认为UTF8
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    # 默认使用“mysql_native_password”插件认证
    default_authentication_plugin=mysql_native_password
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口
    port=3306
    default-character-set=utf8

     5.2、我一开始使用的这个 my.ini(端口是 3333,编码是 utf8)

    [mysqld]
    port=3333
    
    basedir=F:\mysql-8.0.15-winx64
    datadir=F:\mysql-8.0.15-winx64\data
    
    max_connections=200
    max_connect_errors=10
    character-set-server=utf8
    default-storage-engine=INNODB
    default_authentication_plugin=mysql_native_password
    
    [mysql]
    default-character-set=utf8
    
    [client]
    port=3333
    default-character-set=utf8

     5.3、后来的。由于 初始化操作一直不成功就改成下面这样 (改了 编码(UTF8MB4),改了端口 想试试看 是不是端口占用导致初始化不成功...)

    [mysqld]
    port=3335
    
    basedir=F:\mysql-8.0.15-winx64
    datadir=F:\mysql-8.0.15-winx64\data
    
    max_connections=200
    max_connect_errors=10
    character-set-server=UTF8MB4
    default-storage-engine=INNODB
    default_authentication_plugin=mysql_native_password
    
    [mysql]
    default-character-set=UTF8MB4
    
    [client]
    port=3335
    default-character-set=UTF8MB4

     5.4、最后使用的(配置了"log-error")

    [mysqld]
    port=3335
    
    basedir=F:mysql-8.0.15-winx64
    datadir=F:mysql-8.0.15-winx64data
    log-error=F:mysql-8.0.15-winx64error_z.log
    
    max_connections=200
    max_connect_errors=10
    character-set-server=UTF8MB4
    default-storage-engine=INNODB
    default_authentication_plugin=mysql_native_password
    
    [mysql]
    default-character-set=UTF8MB4
    
    [client]
    port=3335
    default-character-set=UTF8MB4

    6、

    7、

    8、

    9、

    10、(20190319) Win7x64 中安装 mysql-8.0.15-winx64.zip

      (1)、mysql-8.0.15-winx64.zip 解压在 目录"E:MySQLmysql-8.0.15-winx64",在该目录中 新建文件my.ini  贴入内容:

    [mysqld]
    port=3335
    
    basedir=E:MySQLmysql-8.0.15-winx64
    datadir=E:MySQLmysql-8.0.15-winx64data
    log-error=E:MySQLmysql-8.0.15-winx64error_z.log
    
    max_connections=200
    max_connect_errors=10
    character-set-server=UTF8MB4
    default-storage-engine=INNODB
    default_authentication_plugin=mysql_native_password
    
    [mysql]
    default-character-set=UTF8MB4
    
    [client]
    port=3335
    default-character-set=UTF8MB4

      (2)、来到目录"E:MySQLmysql-8.0.15-winx64in"中,执行命令"mysqld --initialize --console"    --> 初始化

        ZC:一定注意 上面ini文件中的 3个目录

        ZC:记得 要保存 临时密码,不然的话 就要全部重来,将 data文件夹删掉 再次"mysqld --initialize --console"

      (3)、E:MySQLmysql-8.0.15-winx64in>mysqld --install MySQL8015

      (4)、E:MySQLmysql-8.0.15-winx64in>net start MySQL8015

      (5)、改密码

        E:MySQLmysql-8.0.15-winx64in>mysql -u root -p  用初始化操作时生成的临时密码登录

        mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'dongruisoft.com';

       现在 本地访问使用 都可以了

    11、

    12、

    13、

    14、

    15

  • 相关阅读:
    Linux alias 设置快捷命令,打包
    网站改版了
    团队建设经典故事
    easyui中jquery重复引用问题(tab内存泄露问题)
    EasyUI 兼容 IE6 方法总结
    EasyUI datagrid frozencolumn的bug???
    docker-compose快速部署环境笔记
    MySQL获取距离
    Jenkins Publish FTP远程部署过程
    慎用uniapp开发商业级应用
  • 原文地址:https://www.cnblogs.com/dbskill/p/10401744.html
Copyright © 2011-2022 走看看