windows 安装免安装版本mysql5.7

2017-08-09 14:27:19

一、下载

  1.mysql官网下载地址:https://downloads.mysql.com/archives/community/

    

  2.下载完成后解压,解压后如图:

    

 

  3.放置位置,把解压好的文件夹放在自己喜欢的位置

二、配置mysql

  1.mysql-5.7.17-winx64目录下,新建一个my.ini。复制下面的代码保存就可以了。my.ini会替换掉下面的my-default.ini文件

    

注:my.ini文件的内容:   

[mysql]

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

default-character-set=utf8

[mysqld]

;设置3306端口

port = 3306 

; 设置mysql的安装目录

basedir=F:\mysql-5.7.10-winx64

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

datadir=F:\mysql-5.7.10-winx64\data

; 允许最大连接数

max_connections=200

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

character-set-server=utf8

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

default-storage-engine=INNODB

 

三、安装mysql服务

  1、右击开始按键选择搜索输入cmd,会出现一个命令提示符右键选择以管理员身份运行这个选项,不然就会出现一个身份不够的错误码

    

  2.以管理员身份打开cmd窗口后,将目录切换到你的解压文件bin目录下。再输入mysqld install回车运行就可以了,注意是mysqld不是mysql。出现安装成功就可以了。由于    我已经安装过了所以就出现这个了。

    

  3.这时我们可以先用mysqld  --initialize 先初始化data目录:

    

四、修改密码

  1、my.ini配置文件[mysqld]条目下加一条命令skip-grant-tables,然后重启mysql

    

  2.

   (1)进入mysql数据库:

    mysql> use mysql;Database changed

   (2)给root用户设置新密码mysql> update user set authentication_string=password("新密码") where user="root";

    Query OK,1 rows affected(0.01sec)Rows matched:1 Changed:1Warnings: 0

   (3)刷新数据库 (一定要记得刷新)mysql>flush privileges; QueryOK, 0 rows affected (0.00 sec)

   (4)退出mysql:mysql> quit

   最后把配置文件中的skip-grant-tables 注释掉。下次输入mysql -uroot -p 就可以用新密码登录了

    



注意事项1.允许远程用户登录访问mysql的方法

需要手动增加可以远程访问数据库的用户。

方法一、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"

#mysql -u root -proot
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
方法二、直接授权(推荐)

  从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:

# mysql -u root -proot 
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

操作完后切记执行以下命令刷新权限 

FLUSH PRIVILEGES 

注意事项2 windows环境下MySQL重启的命令行说明

ctrl+r 弹出运行框,输入cmd,然后再控制太输入命令;

1.点击“开始”->“运行”(快捷键Win+R)。

2.启动:输入 net stop MySQL

3.停止:输入 net start mysql

windows下不能直接重启(restart),只能先停止,再启动。

这个只是说本地装了mysql的情况下。或者远程连接到mysql服务器,然后在远程机器上操作此命令。


注意事项3  充值密码

You must SET PASSWORD before executing this statement的解决方法


ERROR 1820 (HY000): You must SET PASSWORD before executing this statement 

非常诡异啊,明明用密码登陆进去了,怎么还提示需要密码。 
参考官方的一个文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。如下操作后就ok了: 

mysql> create database yan1; 
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement 
mysql> SET PASSWORD = PASSWORD('123456'); 
Query OK, 0 rows affected (0.03 sec) 

mysql> create database yan1; 
Query OK, 1 row affected (0.00 sec) 


也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!大爷的,真费劲啊。 
这位仁兄也遇到了相同的问题。 


最近新装好的mysql在进入mysql工具时,总是有错误提示: 

# mysql -u root -p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 
或者 
# mysql -u root -p password 'newpassword' 
Enter password: 
mysqladmin: connect to server at 'localhost' failed 
error: 'Access denied for user 'root'@'localhost' (using password: YES)' 

现在终于找到解决方法了。本来准备重装的,现在不必了。 
方法操作很简单,如下: 
# /etc/init.d/mysql stop 
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 
# mysql -u root mysql 
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or host='localhost';//把空的用户密码都修改成非空的密码就行了。 
mysql> FLUSH PRIVILEGES; 
mysql> quit # /etc/init.d/mysqld restart 
# mysql -uroot -p 
Enter password: <输入新设的密码newpassword> 

MySql5.6操作时报错:You must SET PASSWORD before executing this statement解决 
mysql> SET PASSWORD = PASSWORD('123456'); 
Query OK, 0 rows affected (0.03 sec) 
mysql> create database roger; 
Query OK, 1 row affected (0.00 sec) 
也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!



  • 2018-11-17 22:44:53

    LeakCanary,30分钟从入门到精通

    在性能优化中,内存是一个不得不聊的话题;然而内存泄漏,显示已经成为内存优化的一个重量级的方向。当前流行的内存泄漏分析工具中,不得不提的就是LeakCanary框架;这是一个集成方便, 使用便捷,配置超级简单的框架,实现的功能却是极为强大的。

  • 2018-11-17 22:53:01

    gc for alloc freed

    在数组中选择图片然后显示,然后。。。logcat不断显示GC回收。最后程序黑屏。

  • 2018-11-17 23:25:38

    Android高效内存1:一张图片占用多少内存

    在做内存优化的时候,我们发现除了解决内存泄露问题,剩下的就只有想办法减少真实的内存占用。而在App中,大部分内存可能被我们图片占用了,所以减少图片的内存占用可以带来直接的效果。本文就简单介绍一张图片到底占用多少内存,我们先假设我们有一张图片时 600 * 800 的,图片占用空间大小假设是 100KB。另外本文知识点也是面试官喜欢问的一个点,看看自己的回答到什么级别了。

  • 2018-11-18 09:06:06

    Android子线程中更新UI的3种方法

    UI的更新必须在主线程中完成,所以不管上述那种方法,都是将更新UI的消息发送到了主线程的消息对象,让主线程做处理。

  • 2018-11-19 15:10:23

    nodemailer的使用,nodejs发送邮件

    前段时间有个很普通的项目需要发邮件的功能,而且是刚开始学nodejs,所以只是搜索了下用什么好的库能实现,就找到了nodemailer了。这篇文章主要是记录一下使用的过程和经验。

  • 2018-11-21 09:07:37

    Android为每个应用分配多少内存?

    熟悉Android内存分配机制的朋友都知道,Android为每个进程分配内存时,采用弹性的分配方式,即刚开始并不会给应用分配很多的内存,而是给每一个进程分配一个“够用”的内存大小。

  • 2018-11-22 21:13:28

    webview之独立进程

    app内存占用大,被系统回收的概率就高,当每次把app切到后台再回到app时,可能每次app都会重启,最常见的是activity或fragment被回收了,导致fragment使用activity的数据时,出现NullPointerException。内存占用大,app越不稳定。运行性能差。webview加载页面后会占用更多的内存,从而导致app内存占用大,最终导致出现以上问题。

  • 2018-11-22 21:14:34

    为什么要采用WebView独立进程

    App中大量Web页面的使用容易导致App内存占用巨大,存在内存泄露,崩溃率高等问题,WebView独立进程的使用是解决Android WebView相关问题的一个合理的方案。