1.MySQL(安装了解):
1.首先,任何一个文件的bin文件下面是可执行文件。
2.如果安装完成后运行mysqld命令报data错误,很可能是缺少data目录。
3.MySQL数据库的实质是开两个服务,即Server/Client.利用mysqld命令来开服务端后,然后再开一个mysqld -u(username) -p (password)格式的客户端。
4.当我们成功运行过一次server端后,user表中会自动存在一个root用户,并且没有密码,拥有所有权限。
5.如何将MySQL服务一直开启?
答:将MySQL的进程写进windows服务中,即将安装的目录\bin\mysqld --install 写入服务。安装的目录\bin\mysqld --remove即移除服务。
6.当MySQL进程写入这个windows服务后,服务会一直开启。可以利用net start mysql来开启也可以利用net stop mysql 来关闭。(MySQL用户管理及授权管理,需要管理员身份)
2.MySQL(进入数据库了解):
1.show databases; (显示数据库)
2.create databases 数据库名 (创建数据库表格)
3.use 数据库名 (使用哪个数据库)
4.show tables; (显示use哪个数据库的所有表格)
5.create table 表名(字段1,字段2,字段3 varchar(20),字段4 varchar(64));
6.desc 表名;(显示表格中有哪些字段)
注意:在create 、drop 、show tables表格时,必须先用use 数据库 进入这个数据库,才能进行一些操作。操作语句以;进行结束。
3.MySQL(登陆用户操作):
1.创建用户:create user ‘用户名’@‘ip地址’ identified by ‘密码’;
2.删除用户:drop user ‘用户名’@‘ip地址’ ;
3.修改用户名:remane user ‘用户名’@‘ip地址’ ; to ‘新用户名’@‘ip地址’;
4.修改密码:set password for ‘用户名’@’'ip地址=password(‘新密码’);
5.刷新权限:flush privileges;
ip地址为localhost即为本机地址.
6.注意:用户密码登陆时 eric@localhost /eric@127.0.0.1 在这里是有区别的,一般来说利用mysql -u ’用户名‘ -p 密码 登陆时,mysql程序会在用户名eric后面自动添加@localhost去对比。如果当初user表中设置的eric的host为127.0.0.1而用eric用户名+密码登陆则会被认为 eric@localhost和eric@127.0.0.1对比,会报错。应该改成mysql -u eric@127.0.0.1 -p 密码登陆。
7.被创建的新用户不是没有权限的,必须进行授权(grant)
授权: grant 权限 on 数据库.表 to ‘用户@ip地址’ 。 权限可以是all privileges(除了可以给其他人授权的最高权限),也可以是usage(无权限).
8.设置远程登陆(假设服务器端的ip是192.168.12.150,客户端的ip是192.168.12.15)
第一步:首先要先确定有用户create user ‘用户名’@‘192.168.12.150’ identified by ‘密码’;
第二步:利用授权去给’用户’@'192.168.12.15’授权
**(注)**授权 ‘用户’@‘192.168.12.15’表示在该ip段可以访问,‘用户’@’%'表示任意ip都可以访问,授权之前一定要确认创建了这个用户。
9.远程连接:mysql -h 192.168.12.150 -P etc/mysql/my.cnf的端口 -u 用户名 -p 密码
10.(坑):root赋予一个用户权限,如果那个用户没有设置密码,那么将永远看不到赋权结果。
11.查看用户的权限 show grants for ‘用户名’@'host’
4.MySQL(数据库、表的操作):
1.创建数据库 create database 数据库 default utf8 collate utf8_general_ci ;
(设置数据库的默认编码为utf8,utf8中间不要"-";)
(default即默认用哪种格式编码,collate即使用哪种格式进行使用 order by)
2.数据库的操作:create、use(选择数据库)、drop
3.数据表的操作 show、 desc(显示数据表字段)、create
(建立数据表格时必须写入字段和类型,varchar类型字段必须填入最大max_length长度)
4.清空数据表格 (table1为数据表格)
1. delete * from table1;
2. truncate table table1;
delete/truncate的相同点和区别:
(注:*)delete/truncate 都是清空表格内容,区别就在于表格字段设置了自增功能。假设table1表格中设置了10条记录,用delete删除前十条记录,在新插入记录时,id的下标会从11。而用truncate时,插入数据下标会从1开始,并且(truncate速度快)。
5.怎么建立一张表?
答:create table 表名(
字段名 类型 是否为空(null/not null ) [default( )] / 主键(primary key) / 自增(Auto_increment,创建自增时,必须添加索引,往往就是主键索引)
)engine=innodb default charset utf8;
6.MySQL的命令是以输入’;‘结束,不添加’;‘表示还能继续输入内容,’,'表示还行后还能继续输入。