数据库----基本指令
一、安装指令
1、mysqld # 启动MySQL服务
2、mysql -uroot -p # 连接MySQL服务器
3、E:\mysql-5.7.23-winx64\data\mysql --install # 制作MySQL的Windows服务,在终端执行此命令
4、E:\mysql-5.7.23-winx64\data\mysql --remove # 移除MySQL的Windows服务,在终端执行此命令
5、注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql
# 关闭MySQL服务
net stop mysql
6、Windows下登录设置密码:
select user(); # 查看当前登录的账号
mysql -uroot -p # 切换到root账户登录
mysqladmin -uroot -p password "123" # 设置初始密码 由于原密码为空,因此-p可以不用
# 将原始密码123,设置新密码为456
mysqladmin -uroot -p“456” # 修改mysql密码,
# 跳过授权表
mysqld --skip-grant-tables
update mysql.user set authentication_ string = password("") where User=‘root’;
# 刷新权限,执行命令
flush privileges
# 退出指令
exit
MySQL服务无法启动时执行下面的命令:
# 查看当前mysql的进程
tasklist |findstr mysql
# 杀死当前的进程pid
taskkill /F /PID 6052
# 查看目前编码格式
\s # 看是不是utf8
# select @@sql_mode 查看配置文件my.ini中的sql_mode
7、同一字符编码
# my.ini文件是mysql的配置文件(放到根目下)
[mysqld]
# 设置mysql的安装目录
basedir=E:\mysql-5.7.23-winx64
# 设置mysql数据库的数据的存放目录,必须是data
datadir=E:\mysql-5.7.23-winx64\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# mysql端口
port=3306
# 字符集
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
8、初始mysql语句
1、操作文件夹(库)
# 增
create database db1 charset utf8;
# 查
# 查看当前创建的数据库 show create database db1; # 查看所有的数据库 show databases;
# 改
alter database db1 charset gbk;
# 删
drop database db1;
2、操作文件(表)
# 切换文件夹 use db1; # 查看当前所在文件夹 select database();
# 增
create table t1(id int,name char(10));
# 查
# 查看当前的这张t1表 show create table t1; # 查看所有的表 show tables; # 查看表的详细信息(查看表的结构) desc t1;
# 查看表的详细结构
show create table a1\G;
# 改
# modify修改的意思 alter table t1 modify name char(6); # 改变name为大写的NAME alter table t1 change name NAME char(7);
# 删除表
drop table t1;
# 复制表
# 复制db2.a1的表结构和记录 # 既复制了表结构 有复制了记录 create table b1 select * from db2.a1; # 只要表结构 不要记录 # 在db2数据库下创建一个b2表 给一个where条件 条件要求不成立 条件为false 只拷贝表结构 create table b2 select * from db2.a1 where 1>5; # 还有一种做法 使用like(只拷贝表结构 不拷贝记录) create table b3 like db2.a1;
3、操作文件的内容
# 增
# 插入一条数据,规定id,name数据haha insert t1(id,name) values(1,"wjs01"),(2,"wjs02"),(3,"wjs03");
# 查
select id from db1.t1; select id,name from db1.t1; select * from db1.t1;
# 改
update db1.t1 set name="wjs"; update db1.t1 set name="guo" where id=2;
# 删
delete from t1; delete from t1 where id=2;
二、关于用户的操作
1、指定ip:192.168.12.33的wjs用户登录
create user "wjs"@"192.168.12.33" identified by "123";
2、指定ip:192.168.12开头的wjs用户
create user "wjs"@"192.168.12.%" identified by "123"; create user "wjs"@"192.168.%.%" identified by "123"; create user "wjs"@"192.%.%.%" identified by "123";
3、授权用户
# 用户对db1数据库中t1文件执行任何操作 grant all privileges on db1.t1 to "wjs"@"%"; # 用户对db1数据库中文件执行任何操作 grant all privileges on db1.* to "wjs"@"%"; # 用户对所有数据库中文件执行任何操作 grant all privileges on *.* to "wjs"@"%";
4、取消授权
revoke select on db1.s1 from "wjs"@"%";
最新 mysql登录报错“Access denied for user 'root'@'localhost' (using password: NO”的处理方法
1.关闭正在运行的MySQL。
2.打开DOS窗口,转到mysql\bin目录。
3.输入mysqld --skip-grant-tables回车。如果没有出现提示信息,那就对了。(正常的情况是光标闪烁没有任何提示信息,如果不是就执行第二种方法)
4.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5.输入mysql回车,如果成功,将出现MySQL提示符 <
6. 连接权限数据库<use mysql; (<是本来就有的提示符,别忘了最后的分号)
6.改密码:update MySQL.user set authentication_string=password('root') where user='root';(别忘了最后的分号)
7.刷新权限(必须的步骤)<flush privileges;
8.\q 退出;