首页 > 数据库 >MySQL 常用管理方法与命令

MySQL 常用管理方法与命令

时间:2023-05-19 15:03:59浏览次数:51  
标签:常用 MySQL 命令 mysqld user mysql password priv

MySQL 常用管理方法与命令

原创 欢马劈雪 时代Java 2023-05-19 07:40 发表于北京

↑ 点击上面 “时代Java”关注我们,
关注新技术,学习新知识!

运行与关闭 MySQL 服务器

首先检查 MySQL 服务器是否正在运行。可以使用下列命令来确认这一点:

ps -ef | grep mysqld

如果 MySQL 正在运行,在上述命令的运行结果中就能看到 mysqld 进程。如果服务器没有运行,使用下列命令来启动它:

root@host# cd /usr/bin./safe_mysqld &
 

如果想关闭正在运行的 MySQL 服务器,使用如下命令即可:

root@host# cd /usr/bin./mysqladmin -u root -p shutdownEnter password: ******

 

建立 MySQL 用户账号

添加新的 MySQL 用户,只需在数据库 mysql 的 user 表中添加一个新项即可。

在以下范例中,添加了一个新用户 guest,该用户具有 SELECT、INSERT、UPDATE 权限,密码是 guest123。SQL 查询如下:

root@host# mysql -u root -pEnter password:*******mysql> use mysql;Database changed
mysql> INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y');Query OK, 1 row affected (0.20 sec)
mysql> FLUSH PRIVILEGES;Query OK, 1 row affected (0.01 sec)
mysql> SELECT host, user, password FROM user WHERE user = 'guest';+-----------+---------+------------------+| host | user | password |+-----------+---------+------------------+| localhost | guest | 6f8c114b58f2ce9e |+-----------+---------+------------------+1 row in set (0.00 sec)
 

在添加新用户时,记住要用 MySQL 提供的 PASSWORD() 函数对该用户的密码进行加密处理。如上例所示,密码 mypass 被加密成了 6f8c114b58f2ce9e。

注意这里所用的 FLUSH PRIVILEGES 语句。它让服务器重新加载授权表。如果不使用它,就至少得等到服务器重新启动后,才能使用新用户账号连接 mysql。

你也可以为新用户指定其他权限,在执行 INSERT 查询时,将用户表中的下面这些列的值都设为 ‘Y’,或者使用 UPDATE 查询稍后对它们进行更新。

  • 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

另外一种添加用户账号的方式是使用 SQL命令 GRANT。下面这个例子将在数据库 TUTORIALS 上添加一个名为 zara 的新用户,其密码为 zara123。如下所示:

root@host# mysql -u root -p password;Enter password:*******mysql> use mysql;Database changed
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON TUTORIALS.* -> TO 'zara'@'localhost' -> IDENTIFIED BY 'zara123';
 

这会在 mysql 数据库的 user 表中创建一个项。

注意:如果 SQL 命令不以分号(;)结束的话,MySQL 就不会终止这个命令。

 

配置 /etc/my.cnf 文件

大多数情况下,根本用不到这个文件。默认状态下,它应该包含如下项:


[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock
[mysql.server]user=mysqlbasedir=/var/lib
[safe_mysqld]err-log=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid

在这里,可以为 error log 更换不同的目录。另外,不要更改这张表中的其他项。

用于管理 MySQL 的一些命令

下面列出了一些重要且经常会用到的MySQL命令:

  • USE Databasename 用于在MySQL工作区内选择具体某个数据库。

  • SHOW DATABASES 列出 MySQL DBMS 所能访问的数据库。

  • SHOW TABLES 一旦数据库被 use 命令选中,显示数据库中的表。

  • SHOW COLUMNS FROM tablename 显示表的属性、属性类型、键信息、是否允许 NULL 值,默认值,以及其他一些信息。

  • SHOW INDEX FROM tablename 显示表中所有索引的细节信息,包括PRIMARY KEY。

  • SHOW TABLE STATUS LIKE tablename\G 报告MySQL DBMS的性能及统计的细节信息。

--
知识
分享,时代前行!
~~ 时代Java

还有更多好文章……
请查看历史文章和官网,
↓有分享,有收获~

欢马劈雪

知足知止 ~~

赞赏二维码喜欢作者

阅读原文 阅读 100    

标签:常用,MySQL,命令,mysqld,user,mysql,password,priv
From: https://www.cnblogs.com/cherishthepresent/p/17415093.html

相关文章

  • Mysql 窗口函数
    MySQL从8.0版本开始支持窗口函数。窗口函数的作用类似于在查询中对数据进行分组,不同的是,分组操作会把分组的结果聚合成一条记录,而窗口函数是将分组的结果置于每一条数据记录中。窗口函数总体上可以分为序号函数,分布函数,前后函数,首尾函数和其他函数;语法结构:窗口函数......
  • linux 上设置mysql开机自启
    1我们设置开机启动需要将mysql.server文件复制到/etc/rc.d/init.d/目录下mysql文件我们的mysql.server文件一般都在安装的根目录下的support-files目录下cp/usr/local/mysql/mysql/support-files/mysql.server/etc/rc.d/init.d/mysql2复制成功后我们需要给赋予权......
  • Lambda编程常用技巧
    遍历打印ListList<Integer>list=Arrays.asList(1,5,6,8,9,32,5,8,7,4,5);list.forEach(System.out::println);排序List<Integer>list=Arrays.asList(1,5,6,8,9,32,5,8,7,4,5);list.sort((o1,o2)->o1-o2);过滤List<Integer>list=Ar......
  • Lambda常用表达式
    1. forEachforEach方法是Java 8中新增的一个方法,它能够对集合中的每个元素进行操作。使用Lambda表达式作为参数,可以使代码更加简洁。例如,我们有一个List集合,里面存放了一些字符串:List list =Arrays.asList("apple","banana","orange");使用forEach方法遍历集合,输出每......
  • DCC32命令行方式编译delphi工程源码
    本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/10284879作者:苏生米沿 一、首先找到这个可执行文件,熟悉delphi的人应该很容易就找到,打开你安装delphi的目录,如我的路径C:\ProgramFiles\Delphi_2007\bin\DCC32.EXE二、拷贝一份出来,我将其放在了我的测试目录下......
  • Shell常用命令
    Shell常用命令shell字符!:执行历史命令!!:执行上一条命令$:变量中取内容符+-*/%:对应数学运算加减乘除取余数&:后台执行;:分号可以在shell中一行执行多个命令,命令之......
  • cmd启动/关闭mysql
    cmd启动/关闭mysqlnetstartmysql#启动mysqlnetstopmysql#关闭mysql#无法运行就在管理员模式下输入命令问题解决先mysqld--install之后再运行启动/关闭命令即可参考https://blog.csdn.net/lovelygirlyuzhu/article/details/123902128......
  • k8s快速部署MySQL单机
    1.创建PV/PVC略2.创建MySQL配置文件kind:ConfigMapapiVersion:v1metadata:name:mysql-confignamespace:ops-sharedata:my.cnf:|-[mysqld]skip-host-cacheskip-name-resolvedatadir=/var/lib/mysqlsocket=/var/run/mysqld/mysqld.s......
  • mysql 存储过程详解
    前言在项目开发中,经常会遇到这样一种场景,当修改A表的一条数据时,需要关联修改B表、C表甚至其他更多表的数据,为什么会这样呢?在真实的业务场景中,往往一张表的数据关联的业务是多样的,举例来说,用户在页面上完成一个订单,对服务端来说,与这个订单相关的业务还有很多,比如生成一条出库记......
  • 线程终止+常用方法
    1. 基本说明  5871.当线程完成任务后,会自动退出。2.还可以通过使用变量来控制run方法退出的方式停止线程,即通知方式2. 应用案例  587需求:启动一个线程t,要求在main线程中去停止线程t,请编程实现.代码在com.stulzl.exit_.包中ThreadExit_ packagecom.stulzl.exit_;//线程......