mysql 远程访问

一、改表法。多是你的账号不容许从远程登录,只能在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的文档。

相关文章
相关标签/搜索