mysql5.7.20安装
2018-03-21 18:14 xiashengwang 阅读(9292) 评论(0) 编辑 收藏 举报MySQL 的官网下载地址:http://www.mysql.com/downloads/
一、各版本的区别
1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。
2. MySQL Enterprise Edition 企业版本,需付费,可以试用30天。
3. MySQL Cluster 集群版,开源免费。可将几个MySQL Server封装成一个Server。
4. MySQL Cluster CGE 高级集群版,需付费。
5. MySQL Workbench(GUI TOOL)一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。MySQL Workbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)。
我选择MySQL Community Server,下载的文件为mysql-installer-community-5.7.21.0.msi,这个是windows图形界面的离线安装方式,可以免去很多直接解压安装方式的配置。
二,安装(windows安装包安装)
1,点击mysql-installer-community-5.7.21.0.msi安装
如果出现下面的提示框,表明安装程序需要.Net Framework4.5.2的安装环境,我的Win7里面没有这个环境。
按提示在这里下载.Net Framework4.5.2的安装包:https://www.microsoft.com/en-us/download/confirmation.aspx?id=42642
下载的文件为:NDP452-KB2901907-x86-x64-AllOS-ENU.exe,先安装这个文件。
2,点“接受”,Next
3,选“Server Only”,Next, 我只想安装服务器,你也可以选第一个Developer Default,这样Sever和Client的所有组件都会安装。
4,显示还需要一个C++ 2013 安装环境
5,点“Excute”试图自己解决失败,原因是我没有联网,这个环境只能先去下载
需要ViusalC++ 2013 的环境,点Execute会失败,原因是我是断网的状态,访问不了外网。点Cancel退出。
可以在这里下载安装vcredist_x86.exe,注意是x86的这个,即使你是64位系统也要这个。 https://www.microsoft.com/en-gb/download/confirmation.aspx?id=40784
6,安装完上面的后,重新执行点击mysql-installer-community-5.7.21.0.msi安装包安装
7,出现“Complete”,代表安装成功了,接下来进入配置步骤,点“next”
8,点“Next”
9,点“Next”
10,选“Server Machine”,如果我们是本机调试开发,可选这个“Development Macine”,“Server Machine”的内存需求更大,用于部署环境,应对多客户端的访问,点“Next”
11,输入root用户的密码
12,默认选项即可,你也可以适当修改。点“Next”
13,这一步可以不勾选,主要是用于NoSqL的支持,如果项目没有用,那就没有必要,我把它选了,点Next
14,点“Excute”开始配置
15,安装完成
16,验证是否成功
开始菜单--》Mysql--》MySql Server5.7-->MySQL 5.7 CommandLine Client
输入刚才root的密码
show databases命令,显示默认的4个数据库
到此安装结束。
17,注意,这种方式安装后,mysql的数据库文件存储地址在win7的C:\ProgramData\MySQL\MySQL Server 5.7 这个位置,并没有在Program Files的安装目录下面。
三,其他功能安装
1,如需要mysql的其他功能,可以重复利用上面那个安装包,安装其他功能。如客户端连接工具,各种编程语言用的连接驱动,说明文档,sample例子等。
2,压缩版的安装步骤
1)下载mysql-5.7.21-winx64.zip,解压到D:\mysql-5.7.21-winx64
2)将D:\mysql-5.7.21-winx64添加到path变量
3)在D:\mysql-5.7.21-winx64下面新建一个data目录
4)D:\mysql-5.7.21-winx64新建一个my.ini,内容为:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql-5.7.21-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.21-winx64\data
# 允许最大连接数
max_connections=200
# 设置mysql服务端默认字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
5)初始化数据库目录,并且root的密码初始为空。
mysqld --initialize-insecure --user=mysql
如果这一步出现下面这样的错,那可能上面那个ini文件的内容保存的编码有问题。
把里面的汉字用英文替换掉,或者干脆去掉注释,ANSI编码再次保存。
[mysql] # set mysql client charset default-character-set=utf8 [mysqld] # set port to 3306 port = 3306 # set basedir basedir=F:\StoreHouse\Sofeware\MySQL Server 5.7 # set database dir datadir=F:\StoreHouse\Sofeware\MySQL Server 5.7\data # max connections max_connections=200 # set mysql server charset character-set-server=utf8 # default engine default-storage-engine=INNODB
6)安装服务:mysql3306
mysqld install mysql3306
7)启动服务
net start mysql3306
8)登录mysql
mysql -u root -p
备注:此时密码为空。
9)修改密码为root
mysql> set password=password('root');
到此结束
更多参考:
https://blog.csdn.net/we_are_the_world_123/article/details/79230537
四,开启远程访问
1,查看数据库用户
可以看出root用户只能localhost访问。
2,添加或修改root用户的host字段,这里选择添加一条,让root可以从任何机器登录。‘%’代表任何,也可以是ip地址,限定某一台机器,或一个ip段,grant语句可以对用户进行权限设置,如用户不存在就创建一个新用户。
grant all privileges on *.* to 'root'@'%' identified by '12345' with grant option; flush privileges;
可以看到多出一条root %的记录。这时如果防火墙开启了,依然不能远程连接。
其他的一些用户创建,授权,删除
参考:https://www.cnblogs.com/xujishou/p/6306765.html 一. 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'dog2'@'localhost' IDENTIFIED BY ''; 远程连接要将"localhost"改为"%",表示在任何一台电脑上都可以登录 二.授权: 命令:GRANT privileges ON databasename.tablename TO 'username'@'host' PS: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*. 例子: GRANT SELECT, INSERT ON mq.* TO 'dog'@'localhost'; 三.创建用户同时授权 mysql> grant all privileges on mq.* to test@localhost identified by '1234'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) PS:必须执行flush privileges; 否则登录时提示:ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES ) 四.设置与更改用户密码 命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword'); 例子: SET PASSWORD FOR 'dog2'@'localhost' = PASSWORD("dog"); 五.撤销用户权限 命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host'; 说明: privilege, databasename, tablename - 同授权部分. 例子: REVOKE SELECT ON mq.* FROM 'dog2'@'localhost'; PS: 假如你在给用户'dog'@'localhost''授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'dog'@'localhost', 则在使用REVOKE SELECT ON *.* FROM 'dog'@'localhost';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'dog'@'localhost';则REVOKE SELECT ON test.user FROM 'dog'@'localhost';命令也不能撤销该用户对test数据库中user表的Select 权限. 具体信息可以用命令SHOW GRANTS FOR 'dog'@'localhost'; 查看. 六.删除用户 命令: DROP USER 'username'@'host'; 七.查看用户的授权 mysql> show grants for dog@localhost;
3,关闭windows的防火墙,或是添加一条tcp的入站规则,允许端口3360。
到此为止,就可以通过Mysql服务器的ip地址,root用户名远程访问了。