一、改表法。多是你的账号不容许从远程登录,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"mysql
mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user;
二、受权法。例如,你想myuser使用mypassword从任何主机链接到mysql服务器的话。sql
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI TH GRANT OPTION;
在MySQL远程访问中若是你想容许用户myuser从ip为192.168.1.6的主机链接到mysql服务器,并使用mypassword做为密码数据库
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES服务器
使修改生效,就能够了并发
另一种方法:app
在安装mysql的机器上运行:ide
一、d:\mysql\bin\>mysql -h localhost -u rootpost
这样应该能够进入MySQL服务器spa
二、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTIONcode
赋予任何主机访问数据的权限
三、mysql>FLUSH PRIVILEGES
修改生效
四、mysql>EXIT
退出MySQL服务器
这样就能够在其它任何的主机上以root身份登陆啦。
第一招、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的文档。