linux 指定库名 登录mysql_Linux系统下使用MySQL命令实现远程连接MySQL数据库

一、基本设置

1、在服务器端开启远程访问

首先进入mysql数据库,然后输入下面两个命令:

grant all privileges on *.* to 'root'@'%' identified by 'password';

flush privileges;

第二个 是数据库的表名称,代表允许访问任意的表第一个*是数据库,可以改成允许访问的数据库名称

root代表远程登录使用的用户名,可以自定义

%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了

password代表远程登录时使用的密码,可以自定义

flush privileges;这是让权限立即生效

2、修改my.cnf配置文件

这个是mysql的配置文件,如果你无标题文章找不到在哪里的话,可以输入find /* -name my.cnf找到

通过vim编辑该文件,找到bind-address    = 127.0.0.1这一句,然后在前面加个#号注释掉,保存退出

3、重启服务

service mysql restart

二、Linux下MySQL数据库常用基本操作

1、连接数据库

mysql -h localhost -u 用户名 -p 密码

2、显示数据库

show databases;

3、选择数据库

use 数据库名;

4、显示数据库中的表

show tables;

5、显示数据表的结构

describe 表名;

6、显示表中记录

SELECT * FROM 表名

7、建库

create databse 库名;

8、建表

create table 表名 (字段设定列表);

mysql> create table name(

-> id int auto_increment not null primary key ,

-> uname char(8),

-> gender char(2),

-> birthday date );

Query OK, 0 rows affected (0.03 sec)

mysql> show tables;

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

| Tables_in_userdb |

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

| name |

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

1 row in set (0.00 sec)

mysql> describe name;

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

| Field | Type | Null | Key | Default | Extra |

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

| id | int(11) | NO | PRI | NULL | auto_increment |

| uname | char(8) | YES | | NULL | |

| gender | char(2) | YES | | NULL | |

| birthday | date | YES | | NULL | |

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

4 rows in set (0.00 sec)

注: auto_increment 自增

primary key 主键

9、增加记录

insert into name(uname,gender,birthday) values('张三','男','1971-10-01');

10、修改记录

update name set birthday='1971-01-10' where uname='张三';

11、删除记录

delete from name where uname='张三';

12、删除表

drop table 表名

13、删除库

1)直接删除数据库,不提醒

drop database 库名;

2)删除数据库前,有提示。

mysqladmin drop databasename

14、备份数据库

mysqldump -u root -p --opt 数据库名>备份名; //进入到库目录

15、恢复

mysql -u root -p 数据库名

16、数据库授权

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

例1、增加一个用户user001密码为123456,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:

mysql> grant select,insert,update,delete on *.* to user001@"%" Identified by "123456";

例2、增加一个用户user002密码为123456,让此用户只可以在localhost上登录,也可以设置指定IP,并可以对数据库test进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机)

//这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作test库。

//首先用以root用户连入MySQL,然后键入以下命令:

mysql>grant select,insert,update,delete on test.* to user002@localhost identified by "123456";

17、显示当前mysql版本和当前日期

select version(),current_date;

18、其他未整理的MySQL语句

root密码管理

设置root用户的密码     mysqladmin -uroot password 'password'

修改root用户的密码     mysqladmin -uroot -p password 'password'

数据库,表管理

进入mysql     mysql -h hostname -uroot -p

创建数据库     mysql> create database location

导入数据结构     mysql -uroot -p location <.>

查看数据库     mysql> show databases;

进入某个库     mysql> use location;

查看表信息     mysql> show tables;

查看表结构     mysql> desc Contact;

改表名     mysql> rename table Contact to Contact_new

删除库     mysql> drop database location

删除表     mysql> drop table Contact

授权部分

建立用户并授权     mysql> grant all on location.* to gk1020@'10.1.11.71' identified by 'gk1020'

取消授权     mysql> revoke all on location.* from gk1020@'10.1.11.71'

刷新权限     mysql> flush privileges

操作语句

查询     mysql> select * from Contact

mysql> select count(*) from Contact

修改     mysql> update Contact set RegTime=‘2008-01-01 00:00:00’ where id=1

mysql> update Contact set RegTime=‘2008-01-01 00:00:00’,CID=1 where id=1

插入     mysql> insert into Contact values('',''…)

mysql> insert into Contact(ID,CID,Contact) values('',''…)

删除     mysql> delete from Contact where id=1

备份数据库location     mysqldump -uroot -p -l location >./location.sql

备份某个表     mysqldump -uroot -p -l --database location --table Contact >./contact.sql

导出数据库location的数据结构     mysqldump -d -uroot -p location >./location.sql

恢复数据库:mysql -uroot -p location < location.sql

备份数据文件和sql文件分离:mysqldump -uroot -p location contact -T backup/

导出数据: select * from contact into outfile 'contact.txt';

恢复sql文件:cat contact.sql | mysql -uroot -p location

导入数据(要跟绝对路径) mysqlimport -uroot -p zhang  /usr/local/mysql/var/backup/contact.txt

复制表     复制表Contact为Contact_bak     mysql> create table Contact_bak as select * from Contact

复制表Contact的结构     mysql> create table Contact_bak as select * from Contact where 1=2

查看正在执行的任务           mysql> show processlist

kill正在执行的任务      mysqladmin -uroot -p kill process_id

查看表状态:mysql> check table Contact  or mysqlcheck -uroot -p -c location Contact

修复表:        mysql> repair table Contact  or mysqlcheck -uroot -p -r location Contact

优化表:        mysql> optimize table Contact  or mysqlcheck -uroot -p -o location Contact

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值