Linux MySQL 基本操作

Linux MySQL 基本操作

连接到MySQL

连接到本机上的MySQL

mysql -u username -p 回车后输入密码
    
    
  • 1

连接到远程主机上的MySQL

mysql -h主机地址 --port=端口号 -u username -ppassword
    
    
  • 1

开启远程访问权限

授权法

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
flush privileges;
    
    
  • 1
  • 2

%:表示在任何客户端机器上都能远程访问,也可指定具体ip。
username:表示能以username用户登录到MySQL服务器。
ALL PRIVILEGES :表示赋予所有权限

改表法

use mysql;
update user set host='%' where user='username';
    
    
  • 1
  • 2

查看授权

show grants for test;
select * from mysql.user where user='test'\G;
    
    
  • 1
  • 2

修改root用户密码

使用mysqladmin

mysqladmin -uroot password "newpassword"
    
    
  • 1

如果root用户已经设置过密码,则

mysqladmin -uroot password oldpassword "newpassword"
    
    
  • 1

修改user表

use mysql;
update user set password=password("newpassword") where user='root';
flush privileges;
    
    
  • 1
  • 2
  • 3

alter语句

flush privileges;
    
    
  • 1

set password语句

set password=password("newpassword")
flush privileges;
    
    
  • 1
  • 2

root忘记密码破解方法

  • 停止mysql服务
service mysqld stop
    
    
  • 1
  • 用以下命令启动mysql,以不检查权限的方式启动
mysqld_safe --skip-grant-tables &
    
    
  • 1
  • 使用空密码方式使用root用户登录mysql
mysql -uroot -p 回车
    
    
  • 1
  • 修改root用户的密码
use mysql 
update user set password=password("newpassword") where user='root';
flush privileges;
quit
    
    
  • 1
  • 2
  • 3
  • 4
  • 重启mysql服务
service mysqld restart
    
    
  • 1
  • root用户使用新密码进行登录
  • mysql -uroot -p 回车输入新密码、

数据库

  • 显示数据库
show databases;
    
    
  • 1
  • 创建数据库
create database db_name;
    
    
  • 1
  • 选择数据库
use db_name;
    
    
  • 1
  • 删除数据库
drop database db_name;
    
    
  • 1

  • 创建表
create table scutech (id int not null  AUTO_INCREMENT,name varchar(20) not null,tel char(11),current_time timestamp default current_timestamp,primary key (id));
    
    
  • 1
  • 显示数据库中的表
show tables;
    
    
  • 1
  • 查看表结构
desc table_name;
    
    
  • 1
  • 查看表详细结构语句

    show create table table_name;
          
          
    • 1
  • 向表中插入记录

insert into scutech(name) values("zhou");
    
    
  • 1

将查询到的结果插入表中

insert into table_name(属性1,属性2,...,属性n) select 属性列表 from 表名2 where 条件表达式
    
    
  • 1
  • 查看表中记录
select * from scutech;
    
    
  • 1
  • 计算表中记录数
select count(*) from scutech;
    
    
  • 1
  • 更新表中记录
update scutech set name="zhang" where id=1;
    
    
  • 1
  • 删除表中记录
delete from scutech where id=1;
    
    
  • 1

修改表结构

  • 重命名表
alter table scutech rename newscutech;
    
    
  • 1

ALTER TABLE 表名 ADD 字段名 1 数据类型 [完整性约束条件] [FIRST|AFTER 属性名 2];

alter table scutech add t1 char(10);
alter table scutech add sex enum ("boy","girl") default "boy" after name ;
    
    
  • 1
  • 2
  • 修改字段名change (原字段名 新字段名 类型)
    ALTER TABLE 表名 CHANGE 原字段名 新字段名 新数据类型;
alter table scutech change tel phone_num char(11);
    
    
  • 1
  • 删除字段drop
    ALTER TABLE 表名 DROP 字段名;
alter table scutech drop name,drop sex;
    
    
  • 1
  • 修改字段类型modify,不能与字段已存储的数据冲突
    ALTER TABLE 表名 MODIFY 字段名 数据类型;
alter table scutech modify sex enum("boy","girl","no") not null default "no";
    
    
  • 1
  • 修改表的存储引擎

    alter table scutech engine=innodb;
          
          
    • 1
  • 删除表的外键约束
alter table table_name drop foreign key 外键名;
    
    
  • 1

数据库引擎

show engines \G
show variables like '%engine%';
    
    
  • 1
  • 2

innodb引擎

最常用,支持事务,回滚,自增,外键
表结构存在.frm 文件中
数据和索引存在表空间中
读写效率稍差,占用空间大

myisam

表结构存在.frm 文件中
.myd 存储数据
.myi 存储索引
快速,占空间小,丌支持事务和幵収

Linux MySQL 基本操作

连接到MySQL

连接到本机上的MySQL

mysql -u username -p 回车后输入密码
  
  
  • 1

连接到远程主机上的MySQL

mysql -h主机地址 --port=端口号 -u username -ppassword
  
  
  • 1

开启远程访问权限

授权法

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
flush privileges;
  
  
  • 1
  • 2

%:表示在任何客户端机器上都能远程访问,也可指定具体ip。
username:表示能以username用户登录到MySQL服务器。
ALL PRIVILEGES :表示赋予所有权限

改表法

use mysql;
update user set host='%' where user='username';
  
  
  • 1
  • 2

查看授权

show grants for test;
select * from mysql.user where user='test'\G;
  
  
  • 1
  • 2

修改root用户密码

使用mysqladmin

mysqladmin -uroot password "newpassword"
  
  
  • 1

如果root用户已经设置过密码,则

mysqladmin -uroot password oldpassword "newpassword"
  
  
  • 1

修改user表

use mysql;
update user set password=password("newpassword") where user='root';
flush privileges;
  
  
  • 1
  • 2
  • 3

alter语句

flush privileges;
  
  
  • 1

set password语句

set password=password("newpassword")
flush privileges;
  
  
  • 1
  • 2

root忘记密码破解方法

  • 停止mysql服务
service mysqld stop
  
  
  • 1
  • 用以下命令启动mysql,以不检查权限的方式启动
mysqld_safe --skip-grant-tables &
  
  
  • 1
  • 使用空密码方式使用root用户登录mysql
mysql -uroot -p 回车
  
  
  • 1
  • 修改root用户的密码
use mysql 
update user set password=password("newpassword") where user='root';
flush privileges;
quit
  
  
  • 1
  • 2
  • 3
  • 4
  • 重启mysql服务
service mysqld restart
  
  
  • 1
  • root用户使用新密码进行登录
  • mysql -uroot -p 回车输入新密码、

数据库

  • 显示数据库
show databases;
  
  
  • 1
  • 创建数据库
create database db_name;
  
  
  • 1
  • 选择数据库
use db_name;
  
  
  • 1
  • 删除数据库
drop database db_name;
  
  
  • 1

  • 创建表
create table scutech (id int not null  AUTO_INCREMENT,name varchar(20) not null,tel char(11),current_time timestamp default current_timestamp,primary key (id));
  
  
  • 1
  • 显示数据库中的表
show tables;
  
  
  • 1
  • 查看表结构
desc table_name;
  
  
  • 1
  • 查看表详细结构语句

    show create table table_name;
        
        
    • 1
  • 向表中插入记录

insert into scutech(name) values("zhou");
  
  
  • 1

将查询到的结果插入表中

insert into table_name(属性1,属性2,...,属性n) select 属性列表 from 表名2 where 条件表达式
  
  
  • 1
  • 查看表中记录
select * from scutech;
  
  
  • 1
  • 计算表中记录数
select count(*) from scutech;
  
  
  • 1
  • 更新表中记录
update scutech set name="zhang" where id=1;
  
  
  • 1
  • 删除表中记录
delete from scutech where id=1;
  
  
  • 1

修改表结构

  • 重命名表
alter table scutech rename newscutech;
  
  
  • 1

ALTER TABLE 表名 ADD 字段名 1 数据类型 [完整性约束条件] [FIRST|AFTER 属性名 2];

alter table scutech add t1 char(10);
alter table scutech add sex enum ("boy","girl") default "boy" after name ;
  
  
  • 1
  • 2
  • 修改字段名change (原字段名 新字段名 类型)
    ALTER TABLE 表名 CHANGE 原字段名 新字段名 新数据类型;
alter table scutech change tel phone_num char(11);
  
  
  • 1
  • 删除字段drop
    ALTER TABLE 表名 DROP 字段名;
alter table scutech drop name,drop sex;
  
  
  • 1
  • 修改字段类型modify,不能与字段已存储的数据冲突
    ALTER TABLE 表名 MODIFY 字段名 数据类型;
alter table scutech modify sex enum("boy","girl","no") not null default "no";
  
  
  • 1
  • 修改表的存储引擎

    alter table scutech engine=innodb;
        
        
    • 1
  • 删除表的外键约束
alter table table_name drop foreign key 外键名;
  
  
  • 1

数据库引擎

show engines \G
show variables like '%engine%';
  
  
  • 1
  • 2

innodb引擎

最常用,支持事务,回滚,自增,外键
表结构存在.frm 文件中
数据和索引存在表空间中
读写效率稍差,占用空间大

myisam

表结构存在.frm 文件中
.myd 存储数据
.myi 存储索引
快速,占空间小,丌支持事务和幵収

猜你喜欢

转载自blog.csdn.net/imodel/article/details/79923402