• MySQL常用操作


    1. 安装MySQL/MariaDB

    # 1) 确认是否已安装mysql
    rpm -qa | grep mysql
    
    # 2) (如无)执行以下命令进行安装
    ## 方法一
    yum install mysql -y
    ## 方法二(适用场景:CentOS 7版本中MySQL已从默认的程序列表中移除) 
    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    rpm -ivh mysql-community-release-el7-5.noarch.rpm
    yum update
    yum install mysql-server
    
    # 3) 初始化&启动
    #chown -R mysql:mysql /var/lib/mysql/    #权限设置
    #?mysqld --initialize                     #初始化MySQL;Fatal error: ... find out how to run mysqld as root
    systemctl start mysqld                  #启动MySQL
    systemctl status mysqld                 #查看MySQL运行状态
    
    # 4) 验证
    mysqladmin --version    #如果没有输出任何信息,说明安装未成功
    
    #5) 用户设置,详见本文第2部分
    mysql   #默认情况下登录密码为空
    >mysqladmin -u root password "new_password"  -- root默认密码为空,设置root密码;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    或者可以安装mysql的平替MariaDB,后者是mysql的一个开源分支,开发这个分支的原因之一是:甲骨文公司收购了mysql后,有将mysql闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

    yum install mariadb-server mariadb 
    
    systemctl start mariadb  #启动MariaDB
    #systemctl stop mariadb  #停止MariaDB
    #systemctl restart mariadb  #重启MariaDB
    #systemctl enable mariadb  #设置开机启动
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    MariaDB的目的是完全兼容MySQL,包括API命令行。即本文mysql命令可以直接在MariaDB使用(持续测试中…)。

    2. 用户管理

    MySQL的用户信息存储在mysql.user表。

    2.1 用户信息

    root用户操作

    # 连接mysql数据库查看用户;
    use mysql;
    select user,host from user;
    
    # 创建用户;
    create user 'user01'@'host' identified by 'password';
    flush privileges;
    
    # 修改用户密码;
    alter user 'user_name'@'host' IDENTIFIED BY 'new_password'
    flush privileges;
    
    # 删除用户;
    drop user 'user_01'@'host';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    普通用户操作

    # 新开窗口测试是否创建成功
    mysql -u user01 -p
    
    # 修改密码
    alter user 'user_name'@'host' identified by 'new_password';
    flush privileges;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.2 用户权限privileges

    privileges是用户能执行的数据库操作,包括CREATE, DROP, GRANT, DELETE, SELECT, UPDATE, INSERT, UPDATE, DELETE等。

    # 查看用户权限;
    show grants for 'user01'@'host';
    
    # 授权
    grant select on db01.tb01 to 'user01'@'host'  -- 将db01库tb01表select权限授权给user01;
    flush privileges;
    grant all privileges on *.* to 'user01'@'host'  -- 全部库表的所有权限;
    flush privileges;
    grant select(col1) on db01.`tb01` to 'user01'@'host' -- 字段颗粒度;
    flush privileges;
    
    #回收授权
    revoke select on db01.tb01 from 'user01'@'host';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    3. 增删改查

    3.1 增删数据库/表

    show databases;
    create database db01  -- 创建数据库;
    drop database db01  -- 删除数据库;
    
    use db01  -- 连接数据库;
    show tables;
    # 创建数据表模板
    create table tb01(col1 char(10) primary key, col2 smallint)  -- create方法;
    source /path/to/tb01.sql  -- 导入sql文件方法;
    # 插入数据
    insert into table01 values (value1,value2);
    insert into table01 (col1,col2) values (value1,value2);
    # 删除表
    drop table table01;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    3.2 查询

    select * from tb01;
    
    • 1

    参考

    MySQL安装
    mysql数据库基础命令
    mysql 设置用户

  • 相关阅读:
    【AIGC专题】Stable Diffusion 从入门到企业级实战0601
    c语言练习49:有多少⼩于当前数字的数字
    Day22 SSH远程管理服务
    关注云栖大会的感受:从工业大脑到全面AI时代的进化
    不会到2022年了,还有人不知道不使用 Javascript 也可以和浏览器进行交互?
    【开题报告】疫苗在线预约小程序的设计与实现
    SpringBoot(三):基础SpringBoot实现SSM整合、JUnit
    servlet相关
    Set cancelled by MemoryScratchSinkOperator
    R数据分析:生存分析的列线图的理解与绘制详细教程
  • 原文地址:https://blog.csdn.net/sinat_39288981/article/details/133100523