问题一:
Mysql8.0的安装
第一种由Installer安装,下载链接-------传送门。
下载之后我们一路next
这里我们需要注意Installer在安装之前会对安装环境进行检测,所以Visual C++ Redistributable for Visual Studio 2015 是必须要安装的。这里给出下载链接---https://www.microsoft.com/en-us/download/details.aspx?id=48145
如果仍有其他安装不成功问题(可能会集中在后面初始化数据库时报错),请自行百度安装缺失文件。
接着我们又是一路next/execute
这个页面的时候注意一下我们需要输入密码check后才能继续。
安装完成之后会弹出workbench页面,这里基本上就算安装完成了。
第二种则是免安装版本下载传送门 ----传送门
下载之后解压,我们在这里新建一个文件my.ini(新建记事本后改后缀名)
文件中代码:
[mysql]
; 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
;设置3306端口
port = 3306
; 设置mysql的安装目录
basedir=D:\App\MySQL\mysql-8.0.11-winx64
; 设置mysql数据库的数据的存放目录
datadir=D:\App\MySQL\mysql-8.0.11-winx64\data
; 允许最大连接数
max_connections=200
; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
用管理员身份运行命令行,进入安装MySQL下的bin目录输入如下命令:
自动生成root用户,可以不带密码:
mysqld --initialize-insecure
或者带随机密码:
mysqld --initialize
随机密码位于datadir数据文件夹下,文件名为:主机名.err
问题二:
cmd命令连接Mysql
在用cmd命令连接之前我们需要先配置环境变量(演示为WIN10系统,WIN7可能稍有不同)
首先找到安装目录显得bin路径,这里是我的路径C:\Program Files\MySQL\MySQL Server 8.0\bin(仅供参考)
我们复制路径之后,退回桌面。在我的电脑图标右键,找到属性-高级系统设置-环境变量
这里双击path
新建--之后把复制的路径添加进去。
记得点应用保存。
接下来我们就可以用cmd连接数据库
键盘组合键win+r运行cmd,我们这里输入mysql -uroot -p (本机登陆,远程登陆需使用mysql -P 3306 -h 192.168.1.104 -u root -p)
(这里的root是默认创建的用户名)
输入密码登陆,登陆成功的话我们可以看见如下页面。
给出一些常用的命令(分号必不可少)
- 1.查看所有数据库
show databases;
- 2.创建数据库 create database db_yves;
- 3.使用数据库 use db_yves;
- 4.显示数据库中所有表 show tables;
- 5.查看表结构
show columns from customers;
或者使用快捷方式:DESCRIBE customers;
当然还有其他的导入导出操作也可以在cmd中完成,代码自行百度。
问题三:
eclipse与MySql8.0连接
这里需要说明eclipse版本为Version: Oxygen.3a Release (4.7.3a) Build id: 20180405-1200
MySql版本为8
jdk版本为java version "10" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
需要文件jdbc驱动 这里给出下载链接-------Download
下载后解压我们需要其中的一个jar文件
eclipse设置buildPath,这里的设置方法有很多,讲最简单的一个。
新建一个项目之后在项目名上面右键找到buildpath,找到Add external..,选择我们刚才下载的文件。点击确定。
当然,也可以在window的perferences中进行设置,之后在buildpath里面选择configure即可。
接下来新建一个类,我们来试一试能否成功连接到数据库
代码:
package data;
import java.sql.*;
public class MysqlJdbc {
public static void main(String args[]) {
try {
Class.forName("com.mysql.cj.jdbc.Driver"); //加载MYSQL JDBC驱动程序
//Class.forName("org.gjt.mm.mysql.Driver");
System.out.println("Success loading Mysql Driver!");
}
catch (Exception e) {
System.out.print("Error loading Mysql Driver!");
e.printStackTrace();
}
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC","root","1234");
//连接URL*******
System.out.println("Success connect Mysql server!");
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from st");
//student 为你表的名称
while (rs.next()) {
System.out.println(rs.getString("Sname"));
}
}
catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
}
}
这里需要着重强调URL的问题
"jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC","root","1234");
student是我的数据库名,root是用户名,1234为密码。这里的useUnicode=true&characterEncoding=utf-8保证编码方式,
SSL套接层设为false,服务器时间我们设置为协调时间UTC即可。
代码21和24行的st是我的表名和属性名,这里根据自己的实际情况来即可。
这里给大家附上连接成功后的样例