美文网首页百人计划我爱编程
Win下 MySQL 免安装配置 及 常见问题处理 方法

Win下 MySQL 免安装配置 及 常见问题处理 方法

作者: 倔强的潇洒小姐 | 来源:发表于2017-07-27 06:21 被阅读185次

    1、MySQL下载
    链接:http://pan.baidu.com/s/1miQdB4G 密码:a7p1

    2、下载后将文件解压到安装目录下
    (G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64)

    3、在安装目录下将文件 my-default.ini 重命名为 my.ini,用记事本打开

    需要修改的地方:
    basedir 、datadir:改成安装目录
    port:3036
    注意:data 目录在初始化时会自动生成一些文件,目录需提前建好

    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
    # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
    # *** default location during install, and will be replaced if you
    # *** upgrade to a newer version of MySQL.
    
    [mysqld]
    
    # Remove leading # and set to the amount of RAM for the most important data
    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    # innodb_buffer_pool_size = 128M
    
    # Remove leading # to turn on a very important data integrity option: logging
    # changes to the binary log between backups.
    # log_bin
    
    # These are commonly set, remove the # and set as required.
    basedir = G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin   # 该参数指定了安装 MySQL 的安装路径
    datadir = G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\data    该参数指定了 MySQL 数据库data的文件放在哪个路径下
    port = 3306
    # server_id = XX.XX.XX.XX
    
    
    # Remove leading # to set options mainly useful for reporting servers.
    # The server defaults are faster for transactions and fast SELECTs.
    # Adjust sizes as needed, experiment to find the optimal values.
    # join_buffer_size = 128M
    # sort_buffer_size = 2M
    # read_rnd_buffer_size = 2M 
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
    skip-grant-tables
    

    4、配置环境变量
    我的电脑-->属性-->高级系统设置-->环境变量
    编辑系统变量 Path (即添加 安装目录下的bin文件路径)
    将 **G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin ** 添加到 Path 变量值后面。

    5、以管理员身份运行命令提示符 cmd 进入安装目录,切换至bin目录
    (一定要用管理员身份运行,不然权限不够)

    开始->运行->cmd,例如我要进入G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin
    1)先进入G磁盘,输入 G:回车
    2)cd Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin

    注意点:若直接输 CD G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin,目录不会切换,但在下次输入盘符的时候进入上一次希望进入的目录,如输入G:会直接进入安装目录)

    C:\Windows\system32>cd G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin
    C:\Windows\system32>G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin
    'G:\Program' 不是内部或外部命令,也不是可运行的程序或批处理文件。
    C:\Windows\system32>G:
    G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin
    

    5.1 安装服务,执行 mysqld -install

     G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin>mysqld -install
     Service successfully installed.      //成功安装服务
    

    5.2 初始化data目录, 执行 mysqld --initialize-insecure --user=mysql;(免密)

    此步骤非常重要,未初始化,可能会导致mysql服务无法启动

    注意:MySQL 5.7.17初始化时创建了临时密码,在data目录下的 LAPTOP-OOR4C1HG.err 文件打开后,查看第一个Note,可以找到临时密码。

     G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin>mysqld -initialize
     G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin>
    
    自动生成的data目录.png

    打开 err 文件可以看到给 root 创建了空密码
    2017-07-28T14:49:27.797774Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

    若要免密,则执行 mysqld --initialize-insecure --user=mysql;

    5.3 设置root免密登录 (初始化时未设置免密)
    1)在配置文件 my.ini 中 [mysqld] 下面加上 skip-grant-tables
    2)也可以执行 mysqld -nt -skip-grant-tables
    --skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证

     G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin>mysqld.exe -nt -skip-grant-tables
     G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64\bin>
    

    6、启动服务 ,执行net start mysql

      C:\Windows\system32>net start mysql
      MySQL 服务正在启动 .
      MySQL 服务已经启动成功。
    

    常见问题:服务无法启动
    处理方法:任务管理器,结束mysqld进程,重新启动mysql

     G:\Program Files (x86)\MySQL\mysql-5.7.17-winx64>net start mysql
     MySQL 服务正在启动 ..
     MySQL 服务无法启动。
     服务没有报告任何错误。
     请键入 NET HELPMSG 3534 以获得更多的帮助。
    

    7、进入mysql修改密码
    因设置过免密登录,输入命令 mysql -uroot -p,弹出输入密码,直接敲回车键即可
    输入mysql+回车就可以进行数据库相关方面的操作了

    8、停止服务,执行stop start mysql

    温馨提示:恢复root密码登录

    1)先修改下root密码
    mysql5.7数据库下已经没有password这个字段了,password字段改成了authentication_string

    查看密码字段:
    输入 desc user;
    或输入 select * from user;

    use mysql;
    //更新密码,new_pass 
    update user set authentication_string=password("new_pass") where user="root";    
    flush privileges;     //刷新权限
    quit;    //退出    (或 exit;)
    

    2)再将配置文件中 my.iniskip-grant-tables注释掉(前面加 #)
    3)操作完后重新启动mysql服务,便可以用之前设置好的密码登录了
    (输入命令 mysql -uroot -p,再输入密码,看到以下提示,那么恭喜你成功了)


    如需登录远程数据库,加参数-h


     C:\WINDOWS\system32>mysql -uroot -p
     Enter password: ******
     Welcome to the MySQL monitor.  Commands end with ; or \g.
     Your MySQL connection id is 4
     Server version: 5.7.17
    
     Copyright (c) 2000, 2016, 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>
    

    常见问题

    1、密码失效的情况下如何修改密码,报错1820

    1)、通过 alter user

    mysql> use mysql;
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    mysql> alter user 'root'@'localhost' identified by '123456';
    Query OK, 0 rows affected (0.20 sec)

    2)、通过 set password=password("123456");

    (使用PASSWORD()函数,对密码进行加密,此时不需要使用FLUSH PRIVILEGES)

    2、Mysql 报错1130

    解决方法:需要授权(hostname改成 IP地址,newpasspwd 改成新密码)
    grant all on . to 'root'@'hostname' identified by 'newpasspwd'

    工具连接MySQL 失败.png

    针对单项操作进行授权(如select、update等),如有很多数据库,则都要进行设置一遍

    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP    # 根据实际需要填写
        -> ON database.*      # 指定数据库
        -> TO 'username'@'localhost'          #指定用户
        -> IDENTIFIED BY 'password';     #用户密码
    

    以上命令会在mysql数据库中的user表创建一条用户信息记录。

    未授权create权限.png

    3、密码永久生效

    alter user 'root'@'localhost' password expire never;

    4、卸载软件后如何删除服务

    sc delete mysql

    相关文章

      网友评论

        本文标题:Win下 MySQL 免安装配置 及 常见问题处理 方法

        本文链接:https://www.haomeiwen.com/subject/ppdakxtx.html