首页 > 技术文章 > window10下安装mysql遇到的问题

momoweiduan 2018-08-02 09:13 原文

今天在进行springboot集成工作流时,需要用到数据库。但是又不想污染公司的数据库服务器,于是决定自己在windows10上安装一个本地mysql数据库。数据库版本为

mysql-8.0.12-winx64.zip,下载地址为 :https://dev.mysql.com/downloads/mysql/

 

安装步骤:

  一. 解压文件夹压缩包:mysql-8.0.12-winx64.zip。假如解压到:D:\Program Files\mysql-8.0.12-winx64

  二. 在系统变量Path中加入mysql路径:path:D:\Program Files\mysql-8.0.12-winx64\bin

  三. 用管理员身份打开cmd命令窗口,直接执行命令: mysqld --initialize -insecure。命令执行完成后可以注意到Mysql安装目录下多出个data文件夹。

  四. 目录下新建my.ini文件用于配置Mysql字符集与存储引擎等信息。并修改其中的mysql安装目录与数据存放目录。例如:

    [mysql]

    # 设置mysql客户端默认字符集

    default-character-set=utf8

    [mysqld]

    #设置3306端口

    port = 3306

    # 设置mysql的安装目录

    basedir=D:\Program Files\mysqlData\mysql-8.0.12-winx64

    # 设置mysql数据库的数据的存放目录

    datadir=D:\Program Files\mysqlData\mysql-8.0.12-winx64\data

    # 允许最大连接数

    max_connections=200

    # 服务端使用的字符集默认为8比特编码的latin1字符集

    character-set-server=utf8

    # 创建新表时将使用的默认存储引擎

    default-storage-engine=INNODB

  五. 执行命令mysqld -install安装mysql服务,服务安装成功后,执行net start mysql命令启动Mysql服务。

  六. 登录mysql,并未root账号设置密码:alter user 'root'@'localhost' identified by 'your password';

 

遇到的问题:

  1. 问题:解压运行,报错缺少msvcp140.dll等一系列dll文件

  解决办法:由于系统缺少VC++2015的版本库 ,需要安装。下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=53587

  

  2. 问题:执行net start mysql命令时,提示:服务没有报告任何错误!!

  

  解决方案:这里是无法确定到底是哪里出现了问题,所以直接输入  “mysqld --console” 查询报错信息。根据报错提示解决相应的问题。

  3.问题:mysqld --console命令下报错 Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

  解决方案:cmd中输入 mysqld --initialize-insecure --user=mysql ;执行mysqld --initialize -insecure这句命令时,在mysql安装路径中D:\Program Files\mysql-8.0.12-winx64\data\mysql中并没有文件。使用mysqld --initialize-insecure --user=mysql 这句命令后才能成功生成文件。

  

 

  4.问题:用sql客户端工具登录本地数据库,报错Can't connect to MySQL server on localhost (10061),或者提示没有权限。

  解决办法:在cmd中进入mysql,输入以下命令:

    mysql>  conn / as sysdba;

    mysql> alter user 'root'@'localhost' identified with mysql_native_password by '你的密码';
    Query OK, 0 rows affected (0.10 sec)


    mysql> flush privileges;

    

推荐阅读