Linux MySQL 基本操作

6 篇文章 0 订阅

Linux MySQL 基本操作

连接到MySQL

连接到本机上的MySQL
mysql -u username -p 回车后输入密码
连接到远程主机上的MySQL
mysql -h主机地址 --port=端口号 -u username -ppassword

开启远程访问权限

授权法
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
flush privileges;

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

改表法
use mysql;
update user set host='%' where user='username';
查看授权
show grants for test;
select * from mysql.user where user='test'\G;

修改root用户密码

使用mysqladmin
mysqladmin -uroot password "newpassword"

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

mysqladmin -uroot password oldpassword "newpassword"
修改user表
use mysql;
update user set password=password("newpassword") where user='root';
flush privileges;
alter语句
flush privileges;
set password语句
set password=password("newpassword")
flush privileges;

root忘记密码破解方法

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

数据库

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

  • 创建表
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));
  • 显示数据库中的表
show tables;
  • 查看表结构
desc table_name;
  • 查看表详细结构语句

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

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

将查询到的结果插入表中

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

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 ;
  • 修改字段名change (原字段名 新字段名 类型)
    ALTER TABLE 表名 CHANGE 原字段名 新字段名 新数据类型;
alter table scutech change tel phone_num char(11);
  • 删除字段drop
    ALTER TABLE 表名 DROP 字段名;
alter table scutech drop name,drop sex;
  • 修改字段类型modify,不能与字段已存储的数据冲突
    ALTER TABLE 表名 MODIFY 字段名 数据类型;
alter table scutech modify sex enum("boy","girl","no") not null default "no";
  • 修改表的存储引擎

    alter table scutech engine=innodb;
  • 删除表的外键约束
alter table table_name drop foreign key 外键名;
数据库引擎
show engines \G
show variables like '%engine%';
innodb引擎

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

myisam

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值