Linux系统下使用MySQL命令实现远程连接MySQL数据库
2017-11-28 00:00
841 查看
摘要: 昨晚,客户那边发来一个数据库地址和密码,我本能地用navcat连了一下,居然连不上,后来赵总指导我说,应该是用命令直接链接的,可惜俺不会,这不才有了下面这篇文章
第二个 是数据库的表名称,代表允许访问任意的表第一个*是数据库,可以改成允许访问的数据库名称
root代表远程登录使用的用户名,可以自定义
%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
password代表远程登录时使用的密码,可以自定义
flush privileges;这是让权限立即生效
通过vim编辑该文件,找到
例1、增加一个用户user001密码为123456,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
例2、增加一个用户user002密码为123456,让此用户只可以在localhost上登录,也可以设置指定IP,并可以对数据库test进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机)
//这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作test库。
//首先用以root用户连入MySQL,然后键入以下命令:
设置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 <./location.sql
查看数据库 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
一、基本设置
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 <./location.sql
查看数据库 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
相关文章推荐
- 在windows下使用Navicat for mysql 远程连接linux系统下的 mySql数据库会提示10061、1045错误
- 在mac下使用终端命令通过ssh协议连接远程linux系统,代替windows的putty
- Linux系统下实现远程连接MySQL数据库的方法教程
- Linux系统下实现远程连接MySQL数据库的方法教程
- VNC、SSH远程连接Linux系统设置及常见使用问题
- Linux 下 FreeSWITCH 远程连接使用 MySQL 替代 SQLite
- Fedora core 6 Linux使用NFS挂装远程文件系统实现目录共享
- Linux 下 FreeSWITCH 远程连接使用 MySQL 替代 SQLite
- Linux下实现MySQL数据备份和恢复的命令使用全攻略
- Linux使用scp命令+ssh方式远程同步Mysql数据库
- 使用mysql.data.mysqlclient实现C#连接MySQL数据库
- linux 下远程连接mysql命令详解
- Linux mysql命令安装允许远程连接的安装设置方法
- Linux上安装Mysql并实现远程连接
- linux下使用系统调用编程实现copy命令功能
- Linux mysql命令安装允许远程连接
- 用sqlyog远程连接LINUX系统的MYSQL出现错解决方法
- 为手动制作的Linux系统添加dropbear实现远程连接
- 使用mysql.data.mysqlclient实现C#连接MySQL数据库
- 使用mysql.data.mysqlclient实现C#连接MySQL数据库