MySQL 5.7 修改密码:
use mysql; #切换数据库到mysql
update user set authentication_string = password(“root”) where user = “root”; #修改密码为root
MySQL 8.0 修改密码:
- 如果密码不为空
use mysql; #切换数据库到mysql
update user set authentication_string='' where user='root';--将字段置为空
ALTER user 'root'@'localhost' IDENTIFIED BY 'root';--修改密码为root
- 如果为空,直接修改
ALTER user 'root'@'localhost' IDENTIFIED BY 'root';--修改密码为root
如果出现如下错误
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY '123' WITH GRANT OPTION;
1、需要执行:flush privileges;
2、然后再执行:ALTER user 'root'@'localhost' IDENTIFIED BY 'root';--修改密码为root
开启MySQL远程连接
- mysql -u root -p #进入MySQL数据库后进行一下操作。
- mysql> use mysql;
- mysql> update user set user.Host=’%’ where user.User=‘root’;
- mysql> flush privileges;
- 注:将Host设置为‘%’表示任意IP都能连接MySQL,也可以将‘%’改为指定ip
如果远程连接遇到如下报错:Unable to load authentication plugin 'caching_sha2_password'.
原因: 是因为mysql8使用的是caching_sha2_password加密规则。
解决方法:
修改远程连接用户的加密规则。
mysql> ALTER USER ‘test’@’%’ IDENTIFIED WITH mysql_native_password BY ‘12345’;
修改配置文件。
#vi /etc/my.cnf 加入下面内容:default_authentication_plugin=mysql_native_password
关闭MySQL远程连接
如果有关闭远程连接的需求,其实我们只需要Host恢复成默认设置(只能本地连接)即可,如下:
- mysql -u root -p #进入MySQL数据库后进行一下操作。
- mysql> use mysql;
- mysql> update user set user.Host=‘localhost’ where user.User=‘root’;
- mysql> flush privileges;
连接msyql服务器:mysql -u root -pxxx
断开连接mysql服务器:quit或\q
查看数据库:show databases;
切换到某数据库database:use database;
查看某表:show tables;
创建库tmp_data: create database tmp_data;
删除库tmp_data: drop database tmp_data;
查看MySQL的user表:select host,user from user;
表结构tables_tmp查看: DESCRIBE tables_tmp;
创建shop表及结构:
CREATE TABLE shop (
ID INT(4) PRIMARY KEY NOT NULL,
dealer CHAR(20) NOT NULL,
price DOUBLE(16,2) NOT NULL,
);
表shop增加info字段:alter table shop add info CHAR(200);
插入数据到表shop:
INSERT INTO shop VALUES
(1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
(3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
查询表shop数据:select * from tables shop;
查询表shop指定自定数据:SELECT id,price FROM shop;
统计表shop数据条目:select count(*) from tables shop;
删除表shop部分数据:DELETE FROM shop WHERE id=7; //删除表shop中ID值为7的数据
删除表shop全部数据:DELETE FROM shop;或者 TRUNCATE TABLE shop;
更新表shop部分数据:UPDATE shop SET dealer=‘AAA’,PRICE=44 WHERE id=1; //将shop表中id值为1=记录,将其dealer字段的值改为‘AAA’,PRICE字段的值改为44; 注意:还可以使用其他WHERE条件表达式,如:id > 4;
更新表shop全部数据:UPDATE shop SET dealer=EE; //更新student表中全部记录,将dealer字段都更新为EE
=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
删除表employee 数据
- 删除表中名称为“zs”的记录:delete from employee where job=‘ccc’;
- 删除表中所有记录:delete from employee;
- 使用truncate删除表中记录:truncate table employee;
查询表student数据
- 查询表中所有学生的信息:select id,name,chinese,english,math from student;
- 查询表中所有学生的姓名和对应的英语成绩:select name,english from student;
- 查询姓名为wu的学生成绩:select * from student where name=‘张三’;
- 查询英语成绩大于90分的同学:select * from student where english>‘90’;
- 查询英语分数在 80-90之间的同学:select * from student where english>=80 and english=<90;
常见的MySQL语句命令
- 进入mysql 命令行:mysql -uroot -p;
- 查看所有数据库:show databases;
- 创建数据库:create database niu charset utf8;
- 删除数据库:drop database niu;
- 选择数据库:use databases;
- 查看所有表:show tables;
- 查看创建数据库的语句:show create database databasename;
- 查看创建表的语句:show create table tablename;
- 查看表结构:desc tablenmae;
常见MySQL字段含义
- 自增长:auto_increment
- 非空:not null
- 默认值:default
- 唯一:unique
- 指定字符集:charset
- 主键:primary key