百人计划我爱编程

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

2017-07-27  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读