windows环境
官网下载安装包
访问官网 https://dev.mysql.com/ 找到dowload
解压缩
下载完后,我们将 zip 包解压到自己想放的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.11 下。
新增配置
打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
启动MySQL 数据库
以管理员权限打开cmd,
如果是普通用户会报错Install/Remove of the Service Denied! That operation should be made by an user with Administrator
到mysql-8.0.11\bin目录下
执行以下命令
cd C:\web\mysql-8.0.11\bin
# 初始化数据库
mysqld --initialize --console
# 安装
mysqld install
# 启动
net start mysql
# 登录
mysql -h 主机名 -u 用户名 -p
# 回车确认, 输入登录密码
Enter password:
初始化执行完成后,会输出 root 用户的初始默认密码
如:2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
记住!
参数说明:
-h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
-u : 登录的用户名;
-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
登录成功
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
解决方案:
(5.7.11以前) > update user set password=password(“123456”) where user=“root”;
(5.7.11以后)> UPDATE mysql.user
SET authentication_string=password(“123456”) where user=“root”;
net start mysql 启动失败
解决方案:
打开资源管理器,关闭mysqld.exe 在启动mysql服务
SQLyog连接数据库报错plugin caching_sha2_password could not be loaded
解决方案:
打开cmd到mysql-8.0.11\bin下执行:mysql -uroot -p
依次执行下面语句
#修改加密规则
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
#更新用户的密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
#刷新权限
FLUSH PRIVILEGES;
注:password是自己要改的密码,是个变量
如:alter user ‘root’@‘localhost’ identified by ‘123456’,
然后再次连接即可
参考链接link.
修改my.ini配置后需要重启,方法
我的电脑->(右键)管理->服务与应用程序->服务->MYSQL->开启状态下,先停止再重启)
链接: link.
MySQL出现The server time zone value ‘�й���ʱ��’ is unrecognized
1.错误日志如下所示
** java.sql.SQLException: The server time zone value ‘�й���ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.**
解决办法1(推荐)
在MySQL的配置文件my.ini中加入以下代码,然后重启Mysql
default-time_zone = '+8:00'
方法2:
在cmd命令中进入mysql输入如下命令即可
set global time_zone = '+8:00'; ##修改mysql全局时区为北京时间,即我们所在的东8区
set time_zone = '+8:00'; ##修改当前会话时区
flush privileges; ##立即生效