上次我们租用了阿里云的服务器,使用windows系统,在其服务器上安装了wamp,对于Mysql数据库这方面的远程登陆知识有些缺欠。Mysql数据库的远程登陆可使我们在自己电脑上连接服务器的数据库,有利于我们对服务器的数据库操作。

这里,我上网查找了“Mysql远程登陆”的相关知识。

​​Mysql 远程登录及常用命令​​


第一招、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的提示符下运行下列命令,每个命令以分号结束。

1、 显示数据库列表。

show databases;

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

2、 显示库中的数据表:

   use mysql;

   show tables;

3、 显示数据表的结构:

    describe 表名;

4、 建库与删库:

   create database 库名;

   drop database 库名;

5、 建表:

   use 库名;

  create table 表名(字段列表);

  drop table 表名;

6、 清空表中记录:

  delete from 表名;

7、 显示表中的记录:

  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: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可以不用加空格,其它也一样)

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





​​如何设置mysql远程访问​​


Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问 

在MySQL Server端: 

执行mysql 命令进入mysql 命令模式, 

Sql代码  ​

Mysql远程登陆及常用命令_远程登录

​ 


Mysql远程登陆及常用命令_远程登录_02



  1. mysql> use mysql;   
  2. mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;   
  3. #这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server   
  4. #必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆  



mysql> use mysql;
mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆



那么如何远程访问呢? 


在另一台MySQL 客户端(装有mysql程序包的pc ,windows或者是linux均可) 



执行命令: 


Sql代码  ​

Mysql远程登陆及常用命令_远程登录

​ 


Mysql远程登陆及常用命令_远程登录_02



  1. mysql -h172.21.5.29 -uadmin -padmin   即可了   
  2. //172.21.5.29就是MySQL Server的IP地址,admin admin就是刚才在 172.21.5.29上设置的远程访问帐户  



mysql -h172.21.5.29 -uadmin -padmin   即可了
//172.21.5.29就是MySQL Server的IP地址,admin admin就是刚才在 172.21.5.29上设置的远程访问帐户



引用




mysql> use mysql; 
mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION; 
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server 
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆




我发现一个问题, 如果上面的命令你执行完毕, 你在 本地就是localhost , 执行 : 


Sql代码  ​

Mysql远程登陆及常用命令_远程登录

​ 


Mysql远程登陆及常用命令_远程登录_02



  1. mysql -hlocalhost -uadmin -padmin   



mysql -hlocalhost -uadmin -padmin



结果是失败的。 



原来 上面的 % 竟然不包括localhost 



所以你还必须加上这样的 命令  



mysql>GRANT ALL ON *.* TO admin@'localhost'  IDENTIFIED BY 'admin' WITH GRANT OPTION;