MySQL数据库相关配置

安装

压缩包安装

  1:
  我使用的是ZIP的安装包,从官网下载之后,解压缩到想安装的路径下,例如F:\MySQL\,生成的文件夹如下图,其中data和my.ini两个是自己手动创建的,
MySQL数据库相关配置_第1张图片
  2:
  建立空文件夹data,建立空文件my.ini,然后按如下配置修改my.ini,注意修改其中的路径。

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=F:\MySQL\mysql-5.7.20-winx64
# 设置mysql数据库的数据的存放目录
datadir=F:\MySQL\mysql-5.7.20-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#禁止域名解析
#skip-name-resolve
#跳过密码验证
#skip-grant-tables

  3:
  在开始-所有程序-附近-命令提示符处右键点击,使用管理员身份启动,此处据说若不是管理员后面会报错。使用cd命令进入bin目录,例如:

C:\Users\Administrator>F:
F:\>CD F:\MySQL\mysql-5.7.20-winx64\bin
F:\MySQL\mysql-5.7.20-winx64\bin>

  然后安装MySQL服务:

F:\MySQL\mysql-5.7.20-winx64\bin>mysqld install
Service successfully installed.

  然后初始化,mysqld –initialize-insecure自动生成无密码的root用户,mysqld –initialize是自动生成随机密码用户:

F:\MySQL\mysql-5.7.20-winx64\bin>mysqld --initialize                //自动生成随机密码的(root)用户
F:\MySQL\mysql-5.7.20-winx64\bin>mysqld --initialize-insecure       //自动生成无密码的(root)用户;

  4:
  登录MySQL:

F:\MySQL\mysql-5.7.20-winx64\bin>mysql -uroot           //无密码时
F:\MySQL\mysql-5.7.20-winx64\bin>mysql -uroot -p123     //密码是123时

安装服务

mysqld install

启动服务

net start mysql

关闭服务

net close mysql

移除服务

mysqld remove

无密码验证登录

  在my.ini文件中设置skip-grant-tables,即可不验证密码登录

默认数据库

  安装后,数据库中有一个叫做mysql的数据库,里面存了用户表(user),所以当需要查看用户表时,需要先进入该数据库,通过命令:

use mysql;
select * from user;

  或

select user();

修改密码

  在5.7版本之前,密码用的是password字段名;在5.7版本之后,密码用的是authentication_string字段名,因此修改密码时要注意当前使用的版本。设置完之后注意“刷新权限”:

update user set authentication_string=password('root') where user='root' ;

flush privileges;

设置环境变量

  当未设置环境变量时,若不进入mysql的bin目录而直接在cmd中使用mysql会报错,如下图:

MySQL数据库相关配置_第2张图片
  此时需要将mysql的bin目录加入到环境命令变量中
  右键计算机-属性-高级系统设置-高级-环境变量,编辑下半部分“系统变量”中的“path”变量,将mysql的bin目录路径加入到变量的最后,注意加分号,然后不断点击确定返回即可。

错误码

-1130连接错误

本地连接错误

  下图中的host ‘::1’是‘127.0.0.1’的缩写,也就是本地连接不上
这里写图片描述
  此时在my.ini文件中设置skip-grant-tables,即可不验证密码登录。登陆后查看数据库名称为mysql的user表中的host及密码字段(authentication_string),看看哪里出了问题,然后进行相应的修改。

远程连接错误

  还没遇到,等遇到再说,目前可参考http://blog.csdn.net/jrn1012/article/details/53231244和http://blog.csdn.net/ei__nino/article/details/25069391

-1045用户名密码错误

  该错误说明用户名或密码不正确,此时可按照下述步骤重置密码,具体命令看上文:
    1:关闭mysql服务;
    2:修改my.ini文件,跳过密码验证;
    3:启动mysql服务;
    4:使用root用户登录,并修改mysql数据库中的user表,重置相应用户的密码;
    5:退出登录并关闭mysql服务;
    6:修改my.ini文件,启动密码验证;
    7:启动mysql服务
  此时可以使用新设置的密码登录数据库。

Java加载驱动遇到的问题

驱动路径

  在以前的使用的驱动路径是

com.mysql.jdbc.Driver

  在5.7.X+版本中使用上述路径会发出警告,并被自动替换为新版路径,新版路径为:

com.mysql.cj.jdbc.Driver

时区设置

  在5.7.X+版本中若不设置时区会报错,因此在写URL时需要设置时区如下(中国时区需要写成Asia/Shanghai)

jdbc:mysql://127.0.0.1:30002/smssvr?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8

  其他时区可以参考http://blog.csdn.net/qq631431929/article/details/51731834

SSL设置

  在5.7.X+版本中默认开启SSL,所以若是不配置SSL会发出警告信息,可以使用&useSSL=false关闭SSL

jdbc:mysql://127.0.0.1:30002/smssvr?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false

你可能感兴趣的:(学习笔记)