mysql 密码重置

1.在命令行运行:taskkill /f /im mysqld.exephp

下面的操做是操做mysql中bin目录下的一些程序,若是没有配置环境变量的话,须要切换到mysql的bin 目录下执行以下语句。否则无效mysql

2.继续在命令行运行:mysqld --skip-grant-tablessql

3.新开一个命令行运行:mysql -u root   (若是没有配置mysql的bin环境变量的话须要切换到bin目录下执行此语句)数据库

若是不想改密码,只是想看原来的密码的话。能够在命令行执行这个语句安全

select host,user,password from mysql.user;//便可查看到用户和密码服务器

若是要修改密码的话,在命令行下执行下面的语句并发

update mysql.user set password=password('密码')  where user='root';app

delete from mysql.user where user='';  ← 删除匿名用户ide

FLUSH PRIVILEGES;post

完成这些操做后,继续在命令行运行

taskkill /f /im mysqld.exe //安全着想,先结束,由于如今这样是能够用mysql -u root 直接登陆的

net start mysql//启动mysql服务

 

1.新建用户。

//登陆MYSQL
@>mysql -u root -p
@>密码
//建立用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
//刷新系统权限表
mysql>flush privileges;
这样就建立了一个名为:phplamp  密码为:1234  的用户。

而后登陆一下。

mysql>exit;
@>mysql -u phplamp -p
@>输入密码
mysql>登陆成功

2.为用户受权。

//登陆MYSQL(有ROOT权限)。我里我以ROOT身份登陆.
@>mysql -u root -p
@>密码
//首先为用户建立一个数据库(phplampDB)
mysql>create database phplampDB;
//受权phplamp用户拥有phplamp数据库的全部权限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操做

/*
若是想指定部分权限给一用户,能够这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges;
*/

3.删除用户。
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;

4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;

 

第一招、mysql服务的启动和中止

net stop mysql

net start mysql

第二招、登录mysql

语法以下: mysql -u用户名 -p用户密码

键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,而后回车便可进入到mysql中了,mysql的提示符是:

mysql>

注意,若是是链接到另外的机器上,则须要加入一个参数-h机器IP

第三招、增长新用户

格式:grant 权限 on 数据库.* to 用户名@登陆主机 identified by "密码"

如,增长一个用户user1密码为password1,让其能够在本机上登陆, 并对全部数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,而后键入如下命令:

grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";

若是但愿该用户可以在任何机器上登录mysql,则将localhost改成"%"。

若是你不想user1有密码,能够再打一个命令将密码去掉。

grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

第四招: 操做数据库

登陆到mysql中,而后在mysql的提示符下运行下列命令,每一个命令以分号结束。

一、 显示数据库列表。

show databases;

缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,咱们改密码和新增用户,实际上就是对这个库进行操做。

二、 显示库中的数据表:

use mysql;

show tables;

三、 显示数据表的结构:

describe 表名;

四、 建库与删库:

create database 库名;

drop database 库名;

五、 建表:

use 库名;

create table 表名(字段列表);

drop table 表名;

六、 清空表中记录:

delete from 表名;

七、 显示表中的记录:

select * from 表名;

第五招、导出和导入数据

1. 导出数据:

mysqldump --opt test > mysql.test

即将数据库test数据库导出到mysql.test文件,后者是一个文本文件

如:mysqldump -u root -p123456 --databases dbname > mysql.dbname

就是把数据库dbname导出到文件mysql.dbname中。

2. 导入数据:

mysqlimport -u root -p123456 < mysql.dbname。

不用解释了吧。

3. 将文本数据导入数据库:

文本数据的字段数据之间用tab键隔开。

use test;

load data local infile "文件名" into table 表名;

1:使用SHOW语句找出在服务器上当前存在什么数据库:

mysql> SHOW DATABASES;

2:二、建立一个数据库MYSQLDATA

mysql> CREATE DATABASE MYSQLDATA;

3:选择你所建立的数据库

mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操做成功!)

4:查看如今的数据库中存在什么表

mysql> SHOW TABLES;

5:建立一个数据库表

mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6:显示表的结构:

mysql> DESCRIBE MYTABLE;

7:往表中加入记录

mysql> insert into MYTABLE values ("hyq","M");

8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)

mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

9:导入.sql文件命令(例如D:/mysql.sql)

mysql>use database;

mysql>source d:/mysql.sql;

10:删除表

mysql>drop TABLE MYTABLE;

11:清空表

mysql>delete from MYTABLE;

12:更新表中数据

mysql>update MYTABLE set sex="f" where name='hyq';

posted on 2006-01-10 16:21 happytian 阅读(6) 评论(0) 编辑 收藏 收藏至365Key

13:备份数据库

mysqldump -u root 库名>xxx.data

14:例2:链接到远程主机上的MYSQL

假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入如下命令:

mysql -h110.110.110.110 -uroot -pabcd123

(注:u与root能够不用加空格,其它也同样)

三、退出MYSQL命令: exit (回车)

===========================================

 

MySQL的权限系统围绕着两个概念:  1:认证->肯定用户是否容许链接数据库服务器  2:受权->肯定用户是否拥有足够的权限执行查询请求等。  显然从上面可知,若是认证不成功的话,哪么受权确定是没法进行的。在这里咱们要关注两个表,分别是在MySQL数据库中user表和db表。  user表在某种程度上是独一无二的,由于它是惟一一个在权限请求的认证和受权阶段都起做用的表,也是惟一一个存数MySQL服务器相关权限的权限表。在认证阶段,它只是负责为用户受权访问MySQL服务器,肯定用户每小时的最大链接数和最大并发数;在受权阶段,user肯定容许访问服务器的用户是否被赋予了操做数据库的全局权限,肯定用户每小时的最大查询数和更新数。  db表用于为每一个用户针对每一个数据库赋予权限。具体的能够查看db的字段。  用户和权限管理命令:  create user :用于建立新的用户帐户(从5.0版本开始有这个命令),在建立这个用户的时候不分配任何权限,须要在建立以后经过grant命令来给改用户分配相应的权限。  eg:create user guest@localhost identified by '123456';  grant select on mydb.* to guest@localhost;  drop user:删除一个用户帐户(注意在4.1.1版本以前只能删除没有任何权限的帐户,5.0.2以后能够删除任何帐户)  eg:drop user guest;  rename user:能够实现重命名一个用户帐号。  grant:用于管理访问权限,也就是给用户帐号受权。固然它一样能够建立一个新的用户帐户。  eg:grant select, insert, update, delete on new_db.* to guest@'%' identified by '88888888';  grant 权限 on 数据库.表 to 用户 @ 访问方式 identified by 密码  grant select on mydb.* to guest@localhost identified by '123456';  BTW:若是须要一个空密码或者无密码的帐户,必须先用Create User命令,而后经过  grant来分配权限。若是以下操做:  grant all privileges on mydb.* to visitor@'%' ;而在数据库user表中没有先建立visitor  用户,则会发生1133错误"Can't find any matching row in the user table"。grant只能创  有密码的帐户。  revoke:删除一个帐户,具体查看MySQL的文档。

相关文章
相关标签/搜索