windowns环境下mysql 安装教程
windowns环境下mysql 安装教程
一:这里以绿色版安装为例(解压就可以使用)
下载地址:
下载页面:https://dev.mysql.com/downloads/mysql/
2:点击 Download 按钮下载zip包到本地,解压(以我本地的解压路径是 D:\db\mysql-5.7.19-winx64 为例讲解,位置可以自定义)
二、配置环境变量
以我本地的解压路径是 D:\db\mysql-5.7.19-winx64 为例:
此电脑-->右键-->属性-->高级系统设置-->环境变量-->系统变量-->Path-->编辑-->新建-->填入“D:\db\mysql-5.7.19-winx64\bin”-->确认
三、配置mysql配置文件
在mysql解压目录下新建my.ini配置文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:/db/mysql-5.7.19-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:/db/mysqldata
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
四、配置服务并启动
1.以管理员身份运行cmd(win+R),并进入到解压目录下的bin目录(D:\db\mysql-5.7.19-winx64\bin)
2.安装mysql服务
mysqld
install
如果需要取消服务的话,可以执行 mysqld -remove
3.初始化:
mysqld --initialize
4.开启服务
net start mysql
而如果需要停止服务,则执行命令net stop mysql
5.查找初始密码
6.修改初始密码
注意:进入MySQL后,执行命令都需要以 ; 结束
6.1首先用默认初始密码登录root
mysql -uroot -p 输入默认密码
6.2修改密码:
方式1:
修改命令格式: mysql> set password for 用户名@localhost = password('新密码');
eg: mysql> set password for root@localhost =password( '123456') ;
方式2:
修改密码:
执行命令 use mysql ; 这说明下面将会对mysql数据库进行操作
执行命令 update user set password=PASSWORD('123456') where user ='root';
记得修改完命令之后要刷新一下权限,否则退出之后,修改没有起作用,因为此时修改的数据还没持久到硬盘,只是驻留在内存中
执行命令 flush privileges;
7: 修改访问权限
方式一:
前面的步骤只能在本机登录mysql服务器,如果想对外开发的话,还需要做一些权限设置,比如以下的权限设置
执行命令 grant all privileges on *.* to '%'@'%' identified by '123456' ;
其中:
*.* 第一个*代表的是数据库,第二个*代表的是表,这里是开放所有的数据库和表,你也可以设置特定的库和表
'%'@'%' 第一个%表示的是用户名,这里代表所有的用户,第二个'%'代表的是主机名或者ip地址,这里也是代表所有主机
'123456' 表示的是登录的密码
还是要记得,修改完权限设置之后,要记得刷新
flush privileges;
方式二:
alter user 'root'@'%' identified with mysql_native_password by '123456';
root是用户名,%是指定任意链接,mysql_native_password是旧的密码验证机制,123456是密码。
最后如何查看mysql的版本呢??
1、直接在操作系统命令行下执行:MySQL –V
C:>MySQL -V
注意事项:
Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题
数据库时区 :&serverTimezone=GMT%2B8
url: jdbc:mysql://127.0.0.1:3306/dw-study?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false
# mysql 5.6以下:
driver-class-name: com.mysql.jdbc.Driver
#mysql 5.7以上:
driver-class-name: com.mysql.cj.jdbc.Driver
mysql使用group by 报错:
Expression #2 of SELECT list is not in GROUP BY clause and contains
nonaggregated column ‘sss.month_id’ which is not functionally
dependent on columns in GROUP BY clause; this is incompatible with
sql_mode=only_full_group_by
解决方法一:
打开navcat,
用sql查询:
select @@global.sql_mode
查询出来的值为:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
去掉ONLY_FULL_GROUP_BY,
重新设置值:
set @@global.sql_mode
='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
然后在Navicat关闭数据库,重新打开即可
解决方法二:
sudo vim /etc/mysql/conf.d/mysql.cnf
滚动到文件底部复制并粘贴
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
到文件的底部
保存并退出输入模式
重启MySQL。
完成!
window下 mysql的启动与停止
net start mysql
net stop mysql