Mysql 忘记root密码

方法一:

在/etc/my.cfg [mysqld]下面添加

skip-grant-tables     或是skip-grant

重启MySQL

use mysql;

UPDATE user SET Password = password ( ‘new-password‘ ) WHERE User = ‘root‘ ;

mysql flush privileges;

将my.cfg文件修改回来 ,重启MySQL即可。

方法二:

在启动Mysql服务器时加上参数--skip-grant-tables来跳过授权表的验证

(./safe_mysqld --skip-grant-tables &),这样我们就可以直接登陆Mysql服务器,

然后再修改root用户的口令,重启Mysql就可以用新口令登陆了。

添加环境变量

export PATH=/usr/local/mysql/bin:$PATH  加入到/etc/profile.d/mysql.sh中

只需本机使用Mysql服务

在启动时还可以加上--skip-networking参数使Mysql不监听任何TCP/IP连接

(./safe_mysqld --skip-networking &),增加安全性。

查看支持的存储引擎mysql> show engines;

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |

| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |

| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |

| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |

| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |

| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |

| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |

| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |

| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

9 rows in set (0.01 sec)

查看当前MySQL的默认数据引擎mysql> show variables like ‘%engine%‘;

+---------------------------+--------+

| Variable_name             | Value  |

+---------------------------+--------+

| default_storage_engine    | InnoDB |

| engine_condition_pushdown | ON     |

| storage_engine            | InnoDB |

+---------------------------+--------+

3 rows in set (0.00 sec)

mysql> show variables;   查看相关参数

查看和修改最大连接数

使用MySQL 数据库的站点,当访问连接数过多时,就会出现 "Too many connections" 的错误。

出现这种错误有两种情况:

一种是网站访问量实在太大,服务器已经负担不起,此时就应该考虑负载均衡或者其它减少服务器压力的办法。

另一种情况就是 MySQL最大连接数设置得太小,当访问量稍大就出现连接过多的错误。

show variables like ‘%max_connections%‘;

要对 mysql最大连接数进行修改,只需要在my.cnf 配置文件里面修改max_connections的值,然后重启mysql就行。

如果my.cnf 文件中没有找到 max_connections 条目,可自行添加以下条目。

max_connections = 220

或是

mysql>set global max_user_connections = 200; [仅本次修改有效]

实时查看mysql当前连接数

前提:对用户和远程主机有授权

mysql> grant all on *.* to [email protected] identified by ‘123456‘;

mysql> flush privileges;

[[email protected] ~]# mysqladmin -uroot -p -h192.168.9.9  processlist;

只查看当前连接数(Threads就是连接数)

[[email protected] ~]# mysqladmin -uroot -p123456 status;

Uptime:

4449  Threads: 2  Questions: 18697  Slow queries: 0  Opens: 77  Flush

tables: 1  Open tables: 31  Queries per second avg: 4.202

mysql> show full processlist;

或者

mysql> show status;

查看一下所有连接进程,注意查看进程等待时间以及所处状态 是否locked

如果进程过多,就把进程打印下来,然后查看.

mysql -e ‘show full processlist;‘ -p > 111.txt

查找非locked的进程,一般就是当前执行中卡死,导致后面的进程排队的原因。

查看MySQL连接数和当前用户Mysql连接数

先用管理员身份进入mysql提示符。

mysql -uroot -pxxxx

mysql >show processlist;         #可以显示前100条连接信息

mysql >show full processlist;    #可以显示全部。如果用普通账号登录,就只显示这用户的。

修改MySQL监听端口

1.如果安装的是系统自带的rpm包的情况:

修改 /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

port=3300                    #修改成你自己想要的端口

socket=/var/lib/mysql/mysql.sock

[mysql.server]

user=mysql

basedir=/var/lib

[safe_mysqld]

err-log=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

2.如果安装的是源码包或者在同一服务器上安装多个mysqld服务情况:

找出my.cnf 文件。添加port= 端口号

需要注意的是

[client]

port            = 3300

这里也要改一下。

在同一台机器上配置两个MySQL服务(跑两个端口)

cd /usr/local/;

cp -r mysql mysql_2

cd mysql_2;

初始化mysql2

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql2

拷贝配置文件:

cp /etc/my.cnf ./my.cnf

修改配置文件相关参数:vim my.cnf  #更改port 以及socket

启动:/usr/local/mysql_2/bin/mysqld_safe --defaults-file=/usr/local/mysql_2/my.cnf --user=mysql &

若开机启动它,需加入到 /etc/rc.local中

查看mysql服务器当前版本,当前日期,当前用户

mysql> select version();

mysql> select current_date();

mysql> select user();

查看mysql状态

mysql> show status;

修改mysql参数

mysql> show variables like ‘max_connect%‘;

mysql> set global max_connect_errors = 1000;

开启服务器

/etc/rc.d/init.d/mysqld start

或者

mysqld_safe  --user=mysql &

停止服务器

/etc/rc.d/init.d/mysqld stop

或者

/usr/bin/mysqladmin -u root -p shutdown

更改MySQL目录

MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:

1、home目录下建立data目录

mkdir /home/data

2、把MySQL服务进程停掉:

mysqladmin -u root -p shutdown

3、把/var/lib/mysql整个目录移到/home/data

mv /var/lib/mysql /home/data/

这样就把MySQL的数据文件移动到了/home/data/mysql下

4、找到my.cnf配置文件

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf中。命令如下:

[[email protected] mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

5、编辑MySQL的配置文件/etc/my.cnf

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。

操作如下:

vim /etc/my.cnf

# The MySQL server

[mysqld]

port   = 3306

#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用#注释此行)

socket  = /home/data/mysql/mysql.sock   (加上此行)

6、修改MySQL启动脚本/etc/rc.d/init.d/mysql

修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:/home/data/mysql。

[[email protected] etc]# vi /etc/rc.d/init.d/mysql

#datadir=/var/lib/mysql    (注释此行)

datadir=/home/data/mysql     (加上此行)

7、重新启动MySQL服务

/etc/rc.d/init.d/mysql start

如果工作正常移动就成功了,否则对照前面的7步再检查一下。

赋权

myaql >grant all on dbname.* to username@% identified by ‘password‘;

mysql >flush privileges;刷新权限表

优化表

mysql> use qqtexas;

mysql> optimize table users;

mysql> optimize table users,userid;

或者进行优化并检查修复任务

[[email protected] ~]# mysqlcheck -o dbname tblA tblB  tblC -u root -p

对表进行分析

mysql> use qqtexas;

mysql> analyze table tblA;

[[email protected] ~]# mysqlcheck -a dbname [tblA  tblB tblC ] -u root -p

对表进行检查

mysql> use qqtexas;

mysql> check table users;

从命令行登录MySQL数据库服务器登录使用默认3306端口的MySQL

/usr/local/mysql/bin/mysql -u root -p

通过TCP连接管理不同端口的多个MySQL(注意:MySQL4.1以上版本才有此项功能)

/usr/local/mysql/bin/mysql -u root -p --protocol=tcp --host=localhost --port=3307

通过socket套接字管理不同端口的多个MySQL

/usr/local/mysql/bin/mysql -u root -p --socket=/tmp/mysql3307.sock

通过端口和IP管理不同端口的多个MySQL

/usr/local/mysql/bin/mysql -u root -p -P 3306 -h 127.0.0.1

修改登录密码

MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。

usr/bin/mysqladmin -u root password ‘new-password‘

格式:mysqladmin -u用户名 -p旧密码 password 新密码

显示数据表的结构

mysql> use qqtexas;

mysql> desc tablesname;

显示表的创建信息

show create table tablesname;

更改表结构,将zhangyan表username字段的字段类型改为CHAR(25)

ALTER TABLE zhangyan CHANGE username username CHAR(25);

创建名称为ocean的数据库

mysql> create database ocean;

mysql> drop database ocean;

mysql> drop tables tablesname;

将表中记录清空

mysql> delete from tablesname;

mysql> truncate table db1.t1;

将当前目录下的mysql.sql导入到数据库中

mysql> source ./mysql.sql;

添加主键: alter table 表名 add primary key(列名)

删除主键: alter table 表名 drop primary key;

给某列改名: alter table 表名 change 列名 属性列表

比如alter table student change id no char(4)

添加某列:

1 在表的最前面添加列 比如给student表添加id属性 放在表的最前面

alter table student add id int(4) not null auto_increment primary key first;

2 在表的某个列后加列 比如给student表添加id属性 放在列no的最前面

alter table student add a int(11) afer no;

删除某列: alter table 表名 drop column 列名;

更改某列属性 比如修改student no字段属性 alter table student modify no char(4);

添加索引:alter table 表名 add index 列名

删除索引:alter table 表名 drop index 列名

删除外键:alter table 表名 drop foreign key 约束名

limit的使用:

select * from 表名 limit 2;//如果只给定一个参数,它表示返回最大的记录行数目

select * from 表名 limit 1,3;// 第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目.

原文:http://hao360.blog.51cto.com/5820068/1655572

查看从机状态 mysql_mysql常用操作命令相关推荐

  1. linux查看磁带机端口,linux、unix下使用磁带机的常用命令

    Linux环境使用的磁带机的方式有多种,主要通过Amanda.tar等软件进行操作. Amanda是提供了远程集中备份的功能,通过分别设置客户端.服务器端,实现远程集中存储备份.而Tar主要用于单机环 ...

  2. m6000查看端口状态_M6000常用命令

    1.查看全局配置 show running-config 2.查看radius服务器组配置 show running-config radius 3.查看设备aaa配置 show running-co ...

  3. linux 查看防火墙状态及常用命令 iptables、firewalld

    一.iptables防火墙 1.基本操作 # 查看防火墙状态 service iptables status # 停止防火墙 service iptables stop # 启动防火墙 service ...

  4. linux常用操作命令详解

    将常用的linux操作命令整理下,超全面,超详细,每个命令都有实例,方便以后复习 目录 一.常用系统工作命令 1.echo  用于在终端输出字符串或变量提取后的值 2.date  用于显示及设置系统的 ...

  5. linux磁盘相关命令,Linux磁盘管理常用操作命令

    原标题:Linux磁盘管理常用操作命令 本文汇总了Linux磁盘管理基础知识.其中包括存储设备的挂载和卸载常用操作命令.自动挂载操作命令和磁盘分区操作命令等. 一.存储设备的挂载和卸载 存储设备的挂载 ...

  6. W10系统matlab无法保存对该路径的更改 pathdef_Linux系统常用操作命令整理 - SimonShixinlong...

    1.查看linux版本:cat /proc/version 2.查看Linux版本: uname --all 3.查看php版本:php -v 查看PHP扩展库: php -m 查看MySQL版本: ...

  7. Ubuntu系统常用操作命令

    1.基本命令:  sudo 提升用户权限为root用户  ls 显示文件内容  cd 进入指定路径,后接路径参数 如cd /进入根目录  cd -进入用户目录 cd ..返回上一级目录  mv xx. ...

  8. Linux常用操作命令大全

    目录 一.目录及文件操作 1.1创建目录 1.2删除目录或文件 1.3重命名目录或文件名称 1.5目录及文件列表查看 1.6复制目录或文件 1.7剪切目录或文件 1.8搜索目录或文件 1.9创建文件 ...

  9. 安装虚拟机及Linux常用操作命令

    一.实验环境 Windows10 ,VMware Workstation 12.1.1 ,Ubuntu kylin 16.04 二.实验内容与完成情况 1.新建用户Hadoop (1)安装时新建 (2 ...

最新文章

  1. JSPServlet学习手册
  2. 大连网络推广明确做好网站标题优化对网站排名的提升影响
  3. pandas纵向合并数据
  4. java基础----IO打印流PrintStream
  5. python创建虚拟环境venv_Python 3 使用venv创建虚拟环境
  6. OpenCV在Linux上的安装及初试
  7. JavaEE中使用绝对目录的说明
  8. Android colorPrimary、colorPrimaryDark、colorAccent详解
  9. linunx 系统一键安装lnmp1.5 之后开启extension=php_fileinfo.dll 报错处理方法
  10. nodejs项目实例医生预约平台宠物医院预约挂号网
  11. matlab之GUI界面设计(1)
  12. MuMu模拟器的安装
  13. DSB2017第一名代码复现
  14. 理解File's ower 和first respond
  15. 胆囊结石与什么因素有关
  16. 直属上司,才是你最该管的人
  17. numpy pandas series 数据维度的变换
  18. 数据结构详解——最大(小)左倾树
  19. 机器学习2 分类与逻辑回归
  20. 二叉树中的的深度、高度、度及其运算性质详解

热门文章

  1. 【图像处理 直方图 OpenCV实现】
  2. 《SteamVR2.2.0之Skeleton_Poser》(Yanlz+Unity+XR+VR+AR+MR+SteamVR_Skeleton_Poser+Skeleton+Poser+立钻哥哥+==)
  3. cURL error 77: error setting certificate verify locations: CAfile: d:\cacert.pem CApath: none (see h
  4. 测试面试题 - GIT
  5. Ubuntu18.04 qt5.14安装
  6. python 角度传感器模拟_模拟多圈旋转角度传感器
  7. 配置类不加@Configuration竟然也可以注册bean
  8. .xyz文件的定义及读取
  9. 盗墓笔记《云顶天宫》好不好看?当贝投影F3画面还原度如何?
  10. JVM - 双亲委派