之前一直在linux下用mysql,安装也很简单,今天试一下windows下安装,发现还真有坑。
还好搞定了,把安装过程记录一下。
1. 首先我们得去mysql官网下载我们需要的资源,选择Downloads—>Community,这时候就能看到MySQL Community Server
下载mysql-5.7.17-winx64.zip版本的安装包。
解压后路径:G:\mysql\mysql-5.7
2.在这个路径下,新建my.ini
[mysql]
; 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
;设置3306端口
port = 3306
; 设置mysql的安装目录
basedir=G:\mysql\mysql-5.7
; 设置mysql数据库的数据的存放目录
datadir=G:\mysql\mysql-5.7\data
tmpdir=G:\mysql\mysql-5.7\data //这里是关键,网上教程遗漏了这一步
; 允许最大连接数
max_connections=200
; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
3.以管理员身份打开cmd窗口后,将目录切换到你的解压文件bin目录下。再输入mysqld install回车运行就可以了,注意是mysqld不是mysql。
4.接下来我们用mysqld --initialize 先初始化data目录。要不然mysql5.7的文件夹下面不会出现data文件夹,data文件夹下又会有一个mysql文件夹
5.接着就是在输入net start mysql启动服务。或者不嫌麻烦的话,就手动启动。打开服务,启动mysql服务。到这里基本就完成了,mysql的安装啦。
总结my.ini红色部分和第4步是关键,遗漏了,mysql将无法启动。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
现在mysql是安装好了,但是root密码没有设置。
1、关闭正在运行的MySQL服务。
2、打开DOS窗口,转到mysql\bin目录。
3、 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4、再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。
6、连接权限数据库: use mysql; 。
7、改密码:update user set authentication_string=password("root") where user="root";(别忘了最后加分号) 。
8、刷新权限(必须步骤):flush privileges; 。
9、退出 quit。
重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了;
经过了上面的设置,登陆了mysql 又发现了一个问题。
mysql> show databases
-> ;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo
re executing this statement.
解决方法:
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| yan1 |
+--------------------+
5 rows in set (0.00 sec) 问题解决