mysql数据库更新密码命令linux_Linux下设置更改root密码,连接mysql,mysql常用命令...

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

发布时间:2020-08-17 12:53:02

来源:51CTO

阅读:765

作者:ZeroOne01

笔记内容:13.1 设置更改root密码

13.2 连接mysql

13.3 mysql常用命令

笔记日期:2017-10-30

13.1 设置更改root密码

89352.com

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

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

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

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

89353.com

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

vim /etc/profile

89355.com

然后再重新加载此文件:

source /etc/profile

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

89356.com

退出mysql使用exit或者quit。

设置密码使用如下命令:

mysqladmin -uroot password '123456'

89357.com

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

89358.com

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

89359.com

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

89360.com

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

89361.com

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

89362.com

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

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

service mysqld restart

89363.com

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

89364.com

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

89366.com

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

89368.com

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

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

89370.com

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

vim /etc/my.cnf

89372.com

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

89373.com

13.2 连接mysql

89374.com

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

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

mysql -uroot -p12345 -h227.0.0.1 -P3306

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

89376.com

89378.com

mysql -uroot -p12345 -S/tmp/mysql.sock

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

89380.com

89383.com

mysql -uroot -p12345 -e “show databases”

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

89386.com

13.3 mysql常用命令

89388.com

89390.com

mysql的命令需要登录进mysql才能进行执行,所以在这之前才要介绍如何去连接mysql,既然知道如何连接mysql后就开始使用一下mysql的常用命令吧:查询库 show databases;这个命令刚才也用到过:

89391.com

切换库 use mysql; 这条命令是切换到了mysql库下:

89393.com

查看库里所有的表 show tables;

89395.com

查看表里的字段 desc tb_name; 库包含着表,而表包含着字段:

89396.com

查看建表语句 show create table tb_name\G; 如果不加G会显示得很乱:

89398.com

查看当前用户 select user(); 这个user()是一个函数:

89400.com

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

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

89401.com

查看当前使用的数据库 select database();

89403.com

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

89405.com

创建库 create database db1;

89406.com

创建表 use db1; create table t1(`id` int(4), `name` char(40));

89408.com

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

89410.com

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

89411.com

查看当前数据库版本 select version();

89412.com

查看数据库状态 show status;

89413.com

查看各参数 show variables; 会列出很多内容:

89415.com

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

show variables like 'max_connect_errors';

89416.com

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

show variables like 'max_connect%';

89417.com

修改参数 set global max_connect_errors=1000;

89420.com

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

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

89421.com

查看完整的队列show full processlist;

89423.com

扩展

mysql5.7 root密码更改

http://www.apelearn.com/bbs/thread-7289-1-1.html

myisam 和innodb引擎对比

http://www.pureweber.com/article/myisam-vs-innodb/

mysql 配置详解:

http://blog.linuxeye.com/379.html

mysql调优:

http://www.aminglinux.com/bbs/thread-5758-1-1.html

同学分享的亲身mysql调优经历:

http://www.apelearn.com/bbs/thread-11281-1-1.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值