linux学习第四十九篇:设置更改mysql的root密码,连接MySQL,MySQL常用命令

设置更改root密码

这里的root是mysql的超级管理员用户,跟我们的linux系统不是同一个用户

  • mysql没有加入PATH环境变量中,只能在目录下使用,否则使用会出错:
    /usr/local/mysql/bin/mysql -uroot
    更改环境变量PATH,增加mysql绝对路径,就不用只能在mysql目录下使用
    export PATH=$PATH:/usr/local/mysql/bin/
    这里写图片描述

  • 如果想让更改的这个环境变量永久生效,需要编辑:
    vim /etc/profile
    export PATH=$PATH:/usr/local/mysql/bin/ 放到最后一行
    保存退出后执行 source /etc/profile 使之生效
    这里写图片描述

  • 设置mysql密码:
    mysqladmin -uroot password ‘123123’

  • 设置密码后进入mysql就需要-p参数指定密码:
    mysql -uroot -p’123456’

  • 密码重置,把密码123123改为123456(前提是知道root的密码):
    mysql -uroot -p’123123’ password ‘123456’

  • 如果不知道root密码,想要重置密码,编辑:

    1. vi /etc/my.cnf
      在mysqld增加skip-grant
      skip-grant的意思就是忽略授权,不用用户名密码能直接登录mysql
      这里写图片描述
    2. 修改配置文件后重启mysql服务
      /etc/init.d/mysqld restart
    3. 进入mysql,这里就不需要密码:
      mysql -uroot
    4. 用户名密码存在表user表里,而user表存在mysql这个库里,所以先进入mysql,记得加分号:
      use mysql;
    5. 我们可以用查询语句查root的密码:
      select password from user where user=’root’;
      不过这里的密码是加密的字符串,这个加密的字符串是password这个函数生成的,所以改密码的时候也需要password函数加密
      这里写图片描述
    6. 修改密码:
      update user set password=password(‘111111’) where user=’root’;
      这就修改成功了。修改成功后需要再去编辑 vi /etc/my.cnf,把skip-grant去掉,否则所有的用户都不需要输入密码就可以进去,很不安全。改完之后再重启服务
      这里写图片描述

连接MySQL

  • 输入用户名密码,连接本机:
    mysql -uroot -p123456

  • 远程连接登录mysql,A机器连接B服务器的mysql,就需要加上IP和端口:
    mysql -uroot -p123456 -h127.0.0.1 -P3306

  • 我们不止监听了3306也监听了sock,我们就可以使用sock登陆,这时候连的就不是TCP/IP,是sock,这个适合本机:
    mysql -uroot -p123456 -S/tmp/mysql.sock

  • 把所有的数据库列出来,这种情况只出现在shell脚本里:
    mysql -uroot -p111111 -e “show databases”

MySQL常用命令

  • 查询库:
    show databases;

  • 切换库:
    use mysql;

  • 查看库里的表:
    show tables;

  • 查看表里的字段:
    desc user;

  • 查看建表语句:
    show create table user\G; // \G是竖排显示

  • 查看当前用户:
    select user();

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

  • 创建名为db1的库:
    create database db1;

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

  • 删除表:
    drop table t1;

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

  • 查看数据库状态:
    show status;

  • 查看各参数:
    show variables;

  • 查看max_connect%相关的参数:
    show variables like ‘max_connect%’;

  • 修改参数:
    set global max_connect_errors=1000;

  • 查看队列:
    show processlist;
    show full processlist; //用这一条的话后面的Info会完整

扩展
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值