MySQL5.7.10配置和使用
前两天搞mybatis和springmvc的结合,搞了半天项目就是跑不起来,由于都没有接触过,也不知道原因出在哪里。今天想彻底学习下mybatis,于是就想使用MySQL。从官网上下了,MySQL-5.7.10免安装版,本来以为只奥简单配置下就好的,硬是花了两个小时,汗。。。。
1、下载MySQL解压D:\mysql-5.7.10-winx64
2、在MySQL目录下新建一个my.ini文件,将下列内容复制过去:
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #skip_grant_tables 这个先不要,这是忽略权限。 #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\mysql-5.7.10-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\mysql-5.7.10-winx64\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
3、以管理员身份打开cmd进入MySQL的bin目录下,
第一种情况:输入mysql -u root –p,空格回车,出现错误。所以不输密码也是进不去的。
第二种情况:输入mysqladmin -u root password "newpass",空格或者输密码,出现错误。
错误:ERROR 1045 (28000): Access denied for user ''@'localhost' (using password: NO)
度娘可以告诉你几种解决方案,但都无效。
4、在上面的my.ini中加入
skip_grant_tables
在使用mysql -u root –p登录数据库,不输密码直接回车,才可以进入数据库。
5、使用网上说的update set均不能修改密码成功,因为MySQL5.7版本user表中没有password这个字段了,可以使用desc user查看具体的字段结构。百度后才知道密码字段放在了autihentication_string中。所以update,set要:UPDATE user SET autihentication_string= PASSWORD('123456') WHERE user = 'root';
6、quit,net stop mysql,回到ini文件中将skip_grant_tables删除。重新开启MySQL。再以root登录,数日刚才设置的密码即可。
常用显示命令:
显示命令
1、显示数据库列表。
show databases;
刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql; //打开库,学过FOXBASE的一定不会陌生吧
show tables;
3、显示数据表的结构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;
三、一个建库和建表以及插入数据的实例
drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default '深圳',
year date
); //建表结束
//以下为插入字段
insert into teacher values('','glchengang','深圳一中','1976-10-10');
insert into teacher values('','jack','深圳一中','1975-12-23');
注:在建表中
(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key
(2)将NAME设为长度为10的字符字段
(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别呢,只有等以后的文章再说了。
(4)将YEAR设为日期字段。