前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux下设置更改root密码,连接mysql,mysql常用命令

Linux下设置更改root密码,连接mysql,mysql常用命令

作者头像
端碗吹水
发布2020-09-23 11:01:00
3.3K0
发布2020-09-23 11:01:00
举报

笔记内容:

  • 13.1 设置更改root密码
  • 13.2 连接mysql
  • 13.3 mysql常用命令

笔记日期:2017-10-30

13.1 设置更改root密码

4074
4074

root是mysql的最高权限用户,和Linux的root概念一样。默认情况下,mysql的root用户密码是空的,可以直接登录。但是这样不安全,所以要设置密码。

如果mysql命令没有加入到PATH中,要先加入进去,才能直接使用mysql命令,不然就得使用绝对路径,命令如下:

export PATH=$PATH:/usr/local/mysql/bin/

然后再使用mysql -uroot命令,就可以直接登录mysql了:

4075
4075

想要这个环境变量永久生效,就需要配置到profile里:

vim /etc/profile

4076
4076

然后再重新加载此文件:

source /etc/profile

mysql的-p是指定密码,但是现在还没有密码,所以直接回车即可:

4077
4077

退出mysql使用exit或者quit。

设置密码使用如下命令:

mysqladmin -uroot password '123456'

4078
4078

设置完密码之后,就不能直接使用mysql -uroot登录了:

4079
4079

那我们就使用mysql -uroot -p命令来指定密码:

4080
4080

以下这种更改root密码的方式需要知道原本的密码才能进行更改,不然无法更改,也是使用mysqladmin命令进行更改,如下示例:

4081
4081

现在就需要使用更改后的密码来登录mysql了:

4082
4082

如果你不知道root的密码,或者忘记了,还有另一种方式可以重置密码,首先编辑my.cnf配置文件在[mysqld]下加入如下内容:

4083
4083

这一句是用来跳过密码,忽略密码的

修改完之后,重新启动服务:

service mysqld restart

4085
4085

重启之后直接使用mysql -uroot就可以直接登录了:

4086
4086

登录进去之后,我们需要通过一个表来更改密码,首先使用use mysql; 选择mysql库:

4087
4087

然后使用desc user; 可以查看user表的表结构,在表结构中可以看到User和Password的字段:

4088
4088

我们现在要修改的就是Password这个字段,sql语句如下:

update user set password=password('12345') where user='root';

4089
4089

修改完后,退出mysql,然后将my.cnf的那个跳过密码那一句给注释掉:

vim /etc/my.cnf

4090
4090

然后重启mysql,这时登录就需要使用你更改后的密码了:

4091
4091

13.2 连接mysql

4092
4092

介绍一下几种常用的连接mysql的命令:

  1. mysql -uroot -p12345

这个命令,是较为常用的,连接本机的mysql命令,刚才也使用到了这个命令来连接mysql,在这就不赘述了。

  1. mysql -uroot -p12345 -h127.0.0.1 -P3306

这个命令是连接远程的mysql,例如A机器要连接B机器的mysql,就需要使用这个命令,示例:

4093
4093
4094
4094
  1. mysql -uroot -p12345 -S/tmp/mysql.sock

这个命令是通过sock来进行连接mysql,在Linux/Unix操作系统中有一种通信方式使用的就是sock,但是这种方式仅能用于本机,所以实际上和第一种命令是一样的:

4095
4095
4096
4096
  1. mysql -uroot -p12345 -e “show databases”

这个命令是通过-e选项在登录时执行一条sql语句,这条sql语句是用来列出mysql中所有的数据库的,这种情况一般使用在shell脚本里:

4097
4097

13.3 mysql常用命令

4098
4098
4099
4099

mysql的命令需要登录进mysql才能进行执行,所以在这之前才要介绍如何去连接mysql,既然知道如何连接mysql后就开始使用一下mysql的常用命令吧:

  1. 查询库 show databases;这个命令刚才也用到过:
4100
4100
  1. 切换库 use mysql; 这条命令是切换到了mysql库下:
4101
4101
  1. 查看库里所有的表 show tables;
4102
4102
  1. 查看表里的字段 desc tb_name; 库包含着表,而表包含着字段:
4103
4103
  1. 查看建表语句 show create table tb_name\G; 如果不加G会显示得很乱:
4104
4104
  1. 查看当前用户 select user(); 这个user()是一个函数:
4105
4105

如果你用的是远程登录,那么这里显示的是root@主机名,本地登录才会显示root@localhost

在root目录下的.mysql_history文件里记录着mysql的命令历史:

4106
4106
  1. 查看当前使用的数据库 select database();
4107
4107

现在没有选择数据库,所以显示null,要选择一个数据库,才会显示当前数据库的名称:

4108
4108
  1. 创建库 create database db1;
4109
4109
  1. 创建表 use db1; create table t1(`id` int(4), `name` char(40));
4110
4110

这时我们使用show create table t1\G;语句就可以看到这个表的创建语句,末尾跟的是默认的引擎和默认的字符集:

4111
4111

如果不想使用这个默认的字符集,可以在创建表的时候指定其他的字符集,示例:

4113
4113
  1. 查看当前数据库版本 select version();
4114
4114
  1. 查看数据库状态 show status;
4115
4115
  1. 查看各参数 show variables; 会列出很多内容:
4116
4116

查看具体的参数,例如我要查看max_connect_errors参数:

show variables like 'max_connect_errors';

4117
4117

如果想要查看某个参数,但是不记得完整的名称了,可以使用模糊查询:

show variables like 'max_connect%';

4118
4118
  1. 修改参数 set global max_connect_errors=1000;
4119
4119

需要永久生效需要去my.cnf里修改

  1. 查看队列 show processlist; 查看队列相当于在Linux使用ps或者top命令查看系统状况一样:
4120
4120

查看完整的队列show full processlist;

4121
4121
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-10-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档