前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql常用基础指令

Mysql常用基础指令

作者头像
老七Linux
发布2018-05-09 16:14:17
1.1K0
发布2018-05-09 16:14:17
举报
文章被收录于专栏:Laoqi's Linux运维专列

一、设置更改mysql的root密码

1.1 初次使用mysql的密码为空
代码语言:javascript
复制
/usr/local/mysql/bin/mysql -uroot
但是这样极度的不安全,我们需要修改一下密码!
代码语言:javascript
复制
mysqladmin -uroot password '123456'

有时候我们不想使用/usr/local/mysql/bin/mysql 这种方式去登陆。我们需要直接mysql -uroot这种方式,由于mysql不在咱们的环境变量中,所以我们需要添加一下:

代码语言:javascript
复制
export PATH=$PATH:/usr/local/mysql/bin/

然后要想永久使用,必须要添加到profile配置中去:

代码语言:javascript
复制
vim /etc/profile

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

source /etc/profile
1.2 修改mysql的root的密码
代码语言:javascript
复制
[root@zhdy-03 ~]# mysqladmin -uroot password 'asd9577'

为了验证是否已经修改成功(第一次没有输入密码;报错了,第二次成功):

代码语言:javascript
复制
[root@zhdy-03 ~]# mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@zhdy-03 ~]# mysql -uroot -pasd9577
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
1.3 再次修改密码:
代码语言:javascript
复制
[root@zhdy-03 ~]# mysqladmin -uroot -p'asd9577' password 'zhangduanya'

建议在修改密码的时候添加 ” 其目的是我们在修改密码的时候使用特殊符号。

1.4 假如忘记mysql的root密码,如何重置?
代码语言:javascript
复制
[[email protected]03 ~]# vim /etc/my.cnf

然后在[mysqld]下面增加一行:
skip-grant          //忽略授权,不需要输入密码

[[email protected]03 ~]# /etc/init.d/mysqld restart

[[email protected]03 ~]# mysql -uroot

> use mysql;

> update user set password=password('asd9577') where user='root';

> select password from user where user='root';        //查看root的密码,当然都是加密的!

在修改完密码之后,一定要把/etc/my.cnf 中的skip-grant去掉,不然所有的用户均不需要密码就可以访问数据库了,非常危险!!!

然后再次重启mysql服务:

代码语言:javascript
复制
/etc/init.d/mysqld restart

二、常用连接mysql的命令

2.1 远程连接mysql数据库
代码语言:javascript
复制
mysql -uroot -p123456 -h127.0.0.1 -P3306
2.2 使用socket连接数据库
代码语言:javascript
复制
[root@zhdy-03 tmp]# mysql -uroot -pasd9577 -S/tmp/mysql.sock

但是这种情况只适合在本机去连接!
2.3 不需要进入数据库直接操作
代码语言:javascript
复制
mysql -uroot -p123456 -e “show databases”
代码语言:javascript
复制
[[email protected] tmp]# mysql -uroot -pasd9577 -e "show databases"
Warning: Using a password on the command line interface can be insecure.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
2.4 查看相关操作指令

查询有几个库:

代码语言:javascript
复制
show databases;

切换库:

代码语言:javascript
复制
use mysql;

查看库里的表:

代码语言:javascript
复制
show tables;

查看tb_name这个表里的字段:

代码语言:javascript
复制
desc tb_name;

查看tb_name这个表是如何创建的语句:

代码语言:javascript
复制
show create table tb_name\G;
//如果不加\G 也可以显示,但是排版太乱!

查看当前登录的用户:

代码语言:javascript
复制
select user();

查看当前使用的数据库:

代码语言:javascript
复制
select databsase();

其实在mysql环境中我们也可以使用上下键去翻看历史,其实在根目录我们是可以找到这个历史文件的。

代码语言:javascript
复制
[[email protected]03 ~]# ls -la
总用量 60
-rw-------.  1 root root 20639 8月  21 14:22 .bash_history
-rw-r--r--.  1 root root    18 12月 29 2013 .bash_logout
-rw-r--r--.  1 root root   176 12月 29 2013 .bash_profile
-rw-------   1 root root    73 8月  21 16:43 .mysql_history
2.5 创建相关操作

创建库

代码语言:javascript
复制
create database db1;

创建t1表,且自定义字段id和name(需要用反引号),且格式分别为:int和char:

代码语言:javascript
复制
use db1; create table t1(`id` int(4), `name` char(40));

一条mysql语句输完,如果前面输入#,则代表着取消,不生效。

删除一个表:

代码语言:javascript
复制
drop table t1;

查看当前数据库版本:

代码语言:javascript
复制
select version();

查看数据库状态:

代码语言:javascript
复制
show status;

查看各参数:

代码语言:javascript
复制
show variables;

模糊查询(假如我只记得一个大概的的是max_conect,后面的不记得了,使用%进行通配,模糊查找):

代码语言:javascript
复制
show variables like 'max_connect%';

直接修改max_connect的参数(但是这个是修改的内存中的参数,重启即失效):

代码语言:javascript
复制
set global max_connect_errors=1000;

如果需要永久生效,就需要进入/etc/my.cnf去配置!

查看队列(类似于在linux 中使用ps或者top):

代码语言:javascript
复制
show processlist;

查看完整的INFO

代码语言:javascript
复制
show full processlist;
作为一个运维,其实用的最多的就是最后一条指令,因为有时候我们需要查看一个进程正在做什么动作,被什么连接,详细的信息等。

扩展:mysql5.7之root密码更改:

mysql5.7root有默认密码,必须重设密码后,才能进行mysql的操作,以下是设置root密码的步骤:

一、查看默认密码

代码语言:javascript
复制
[[email protected] src]# cat /root/.mysql_secret

# The random password set for the root userat Fri Jan 10 20:00:34 2014 (local time): aJqZsA2m

这里的aJqZsA2m就是生成的root随机密码啦

二、登录mysql

[[email protected] src]# mysql -u root -p

Enter password:

输入上面的密码aJqZsA2m登录,如果你没有把mysql的路径加到path里,那就用绝对路径,mysql -u root -p还可以写成mysql -uroot -paJqZsA2m

三、更改密码

代码语言:javascript
复制
mysql> SET PASSWORD  FOR 'root'@localhost = PASSWORD('123456');
Query OK, 0 rows affected (0.17 sec)

至此,就成功地修改了密码。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/08/21,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、设置更改mysql的root密码
    • 1.1 初次使用mysql的密码为空
      • 但是这样极度的不安全,我们需要修改一下密码!
        • 1.2 修改mysql的root的密码
          • 1.3 再次修改密码:
            • 1.4 假如忘记mysql的root密码,如何重置?
            • 二、常用连接mysql的命令
              • 2.1 远程连接mysql数据库
                • 2.2 使用socket连接数据库
                  • 2.3 不需要进入数据库直接操作
                    • 2.4 查看相关操作指令
                      • 2.5 创建相关操作
                        • 作为一个运维,其实用的最多的就是最后一条指令,因为有时候我们需要查看一个进程正在做什么动作,被什么连接,详细的信息等。
                          • 扩展:mysql5.7之root密码更改:
                          相关产品与服务
                          云数据库 SQL Server
                          腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档