2.MySQL数据库管理操作命令

02.数据库操作命令

1.重置root密码

# 1.编辑mysql的配置文件/etc/mysql/my.cnf,在[mysqld]段下加入一行“skip-grant-tables

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
# 新增这一行
skip-grant-tables
# 2.重启mysql服务
sudo service mysql restart

# 3.用空密码进入mysql管理命令行,切换到mysql库
mysql
mysql> use mysql

# 4.执行update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';把密码重置为123456。退出数据库管理。
mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';
mysql>flush privileges;
mysql>exit

# 5.取消在[mysqld]段下加入一行“skip-grant-tables
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

# 6.重启mysql服务
sudo service mysql restart

2.创建用户

方法1:

# 以下为添加用户的的实例,用户名为guest,密码为guest123,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限
mysql> use mysql
mysql> INSERT INTO user
          (host, user, password,
           select_priv, insert_priv, update_priv)
           VALUES ('localhost', 'guest',
           PASSWORD('guest123'), 'Y', 'Y', 'Y');
mysql> FLUSH PRIVILEGES;
mysql> SELECT host, user, password FROM user WHERE user = 'guest';

# 在添加用户时,请注意使用MySQL提供的 PASSWORD() 函数来对密码进行加密。

注意:在 MySQL5.7 中 user 表的 password 已换成了authentication_string

注意:在注意需要执行FLUSH PRIVILEGES语句。

这个命令执行后会重新载入授权表。
如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。
你可以在创建用户时,为用户指定权限,在对应的权限列中,在插入语句中设置为 'Y' 即可,用户权限列表如下:
  • Select_priv
  • Insert_priv
  • Update_priv
  • Delete_priv
  • Create_priv
  • Drop_priv
  • Reload_priv
  • Shutdown_priv
  • Process_priv
  • File_priv
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv

方法2:

# 通过SQL的 GRANT 命令,你下命令会给指定数据库TUTORIALS添加用户 zara ,密码为 zara123
mysql> use mysql;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    -> ON TUTORIALS.*
    -> TO 'zara'@'localhost'
    -> IDENTIFIED BY 'zara123';

3.修改密码

方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');

方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123

方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set authentication_string=password('yagnqian') where user='root' and host='localhost';
mysql> flush privileges;

4.管理mysql的命令

  • 连接数据库

    mysql -uroot -pmysql
    mysql -uroot -p
    
  • 退出数据库

    exit
    quit
    ctrl + d
    
  • 显示数据库版本

    mysql>select version();
    
  • 显示时间

    mysql>select now();
    
  • 查看表结构

    SHOW COLUMNS FROM 数据表
    desc 数据表
    
  • 创建数据库

    create database students charset=utf8;
    
  • 查看数据库创建语句

    mysql>show ceate database students;
    
  • 删除数据库 drop

    drop database students;
    
  • 查看当前使用的数据库

    select database();
    
  • 创建表

-- 创建表
-- int unsigned 无符号整数 表示正数
-- auto_increment 表示自动增长
-- not null 表示不能为空
-- primary key 表示主键
-- default 默认值
-- create table 数据表名字 (字段 类型 约束[, 字段 类型 约束])
create table students(
    id int unsigned primary key auto_increment not null,
    name varchar(20) default '',
    age tinyint unsigned default 0,
    height decimal(5,2),
    gender enum('男','女','人妖','保密'),
    cls_id int unsigned default 0
)
  • 查看表的创建语句

    show create table classes;
    
  • 修改表-添加字段 alter 关键字 add

    alter table classes add age varchar(20);
    
  • 修改表-修改字段:不重命名版 modify 关键字

    alter table classes modify age int unsigned;
    
  • 修改表-修改字段:重命名版 change 关键字

    alter table classes change age newage int unsigned;
    
  • 修改表-删除字段 drop

    alter table classes drop newage;
    

5.数据库备份和恢复

备份:

运行mysqldump命令
mysqldump –uroot –p 数据库名 > python.sql;
# 按提示输入mysql的密码

恢复:

连接mysql,创建新的数据库
退出连接,执行如下命令
mysql -uroot –p 新数据库名 < python.sql
# 根据提示输入mysql密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值