数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

linux下mysql命令


发布日期:2020年07月01日
 
linux下mysql命令

总结一下

linux下启动mysql的命令

mysqladmin start

/ect/initd/mysql start (前面为mysql的安装路径)

linux下重启mysql的命令

mysqladmin restart

/ect/initd/mysql restart (前面为mysql的安装路径)

linux下关闭mysql的命令

mysqladmin shutdown

/ect/initd/mysql shutdown (前面为mysql的安装路径)

连接本机上的mysql

进入目录mysql\bin再键入命令mysql uroot p 回车后提示输入密码

退出mysql命令exit(回车)

修改mysql密码

mysqladmin u用户名 p旧密码 password 新密码

或进入mysql命令行SET PASSWORD FOR root=PASSWORD(root);

增加新用户(注意mysql环境中的命令后面都带一个分号作为命令结束符)

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

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

grant selectinsertupdatedelete on ** to Identified by ;

有关mysql数据库方面的操作

必须首先登录到mysql中有关操作都是在mysql的提示符下进行而且每个命令以分号结束

显示数据库列表

show databases;

显示库中的数据表

use mysql //打开库

show tables;

显示数据表的结构

describe 表名;

建库

create database 库名;

建表

use 库名

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

删库和删表:

drop database 库名;

drop table 表名

将表中记录清空

delete from 表名;

显示表中的记录

select * from 表名;

编码的修改

如果要改变整个mysql的编码格式

启动mysql的时候mysqld_safe命令行加入

defaultcharacterset=gbk

如果要改变某个库的编码格式在mysql提示符后输入命令

alter database db_name default character set gbk;

数据的导入导出

文本数据转到数据库中

文本数据应符合的格式字段数据之间用tab键隔开null值用来代替

name duty

数据传入命令 load data local infile 文件名 into table 表名;

导出数据库和表

mysqldump opt news > newssql(将数据库news中的所有表备份到newssql文件newssql是一个文本文件文件名任取

mysqldump opt news author article > authorarticlesql(将数据库news中的author表和article表备份到authorarticlesql文件 authorarticlesql是一个文本文件文件名任取

mysqldump databases db db > newssql(将数据库dbl和db备份到newssql文件newssql是一个文本文件文件名任取

mysqldump h host u user p pass databases dbname > filedump

就是把host上的以名字user口令pass的数据库dbname导入到文件filedump中

mysqldump alldatabases > alldatabasessql(将所有数据库备份到alldatabasessql文件alldatabasessql是一个文本文件文件名任取

导入数据

mysql < alldatabasessql(导入数据库)

mysql>source newssql;(在mysql命令下执行可导入表)

连接MySQL

格式 mysql h主机地址 u用户名 -p用户密码

连接到本机上的MYSQL

首先在打开DOS窗口然后进入目录 mysqlbin再键入命令mysql uroot p回车后提示你输密码如果刚安装好MYSQL超级用户root是没有密码的故直接回车即可进入到MYSQL中了MYSQL的提示符是 mysql>

连接到远程主机上的MYSQL假设远程主机的IP为用户名为root密码为abcd则键入以下命令

mysql h uroot pabcd

(注:u与root可以不用加空格其它也一样)

退出MYSQL命令 exit (回车)

修改密码

格式mysqladmin u用户名 p旧密码 password 新密码

给root加个密码ab首先在DOS下进入目录mysqlbin然后键入以下命令

mysqladmin uroot password ab

因为开始时root没有密码所以p旧密码一项就可以省略了

再将root的密码改为djg

mysqladmin uroot pab password djg

增加新用户(注意和上面不同下面的因为是MySQL环境中的命令所以后面都带一个分号作为命令结束符)

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

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

grant selectinsertupdate

delete on ** to test@\%\ Identified by \abc\;

但例增加的用户是十分危险的你想如某个人知道test的密码那么他就可以在internet上的任何一台电脑上登录你的MySQL数据库并对你的数据可以为所欲为了解决办法见例

增加一个用户test密码为abc让他只可以在localhost上登录并可以对数据库mydb进行查询插入修改删除的操作 (localhost指本地主机即MySQL数据库所在的那台主机)这样用户即使用知道test的密码他也无法从internet上直接访问数据 库只能通过MySQL主机上的web页来访问

grant selectinsertupdate

delete on mydb* to test@localhost identified by \abc\;

如果你不想test有密码可以再打一个命令将密码消掉

grant selectinsertupdatedelete on mydb

* to test@localhost identified by \\;

在上面讲了登录增加用户密码更改等问题下面我们来看看MySQL中有关数据库方面的操作注意你必须首先登录到MySQL中以下操作都是在MySQL的提示符下进行的而且每个命令以分号结束

操作技巧

如果你打命令时回车后发现忘记加分号你无须重打一遍命令只要打个分号回车就可以了也就是说你可以把一个完整的命令分成几行来打完后用分号作结束标志就完成

你可以使用光标上下键调出以前的命令但以前我用过的一个MySQL旧版本不支持我现在用的是mysqlbetawin

显示命令

显示数据库列表

show databases;

刚开始时才两个数据库mysql和testMySQL库很重要它里面有MYSQL的系统信息我们改密码和新增用户实际上就是用这个库进行操作

显示库中的数据表

use mysql //打开库学过FOXBASE的一定不会陌生吧

show tables;

显示数据表的结构

describe 表名;

建库

create database 库名;

建表

use 库名

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

删库和删表:

drop database 库名;

drop table 表名

将表中记录清空

delete from 表名;

显示表中的记录

select * from 表名;

一个建库和建表以及插入数据的实例

drop database if exists school; //如果存在SCHOOL则删除

create database school; //建立库SCHOOL

use school; //打开库SCHOOL

create table teacher //建立表TEACHER

(

id int() auto_increment not null primary key

name char() not null

address varchar() default 深圳

year date

); //建表结束

//以下为插入字段

insert into teacher values(glchengang深圳一中);

insert into teacher values(jack深圳一中);

在建表中()将ID设为长度为的数字字段:int()并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key()将NAME设为长度为的字符字段()将ADDRESS设为长度的字符字段而且缺省值为深圳varchar和char有什么区别 呢只有等以后的文章再说了)将YEAR设为日期字段

如果你在MySQL提示符键入上面的命令也可以但不方便调试你可以将以上命令原样写入一个文本文件中假设为schoolsql然后复制到c:\\下并在DOS状态进入目录\\mysql\\bin然后键入以下命令

mysql uroot p密码 < c:\\schoolsql

如果成功空出一行无任何显示如有错误会有提示(以上命令已经调试你只要将//的注释去掉即可使用)

将文本数据转到数据库中

文本数据应符合的格式字段数据之间用tab键隔开null值用\\n来代替

rose 深圳二中

mike 深圳一中

数据传入命令 load data local infile \文件名\ into table 表名

注意你最好将文件复制到\\mysql\\bin目录下并且要先用use命令打表所在的库

备份数据库

mysqldump opt school>schoolbbb

mysqldump opt school>schoolbbb

(命令在DOS的\\mysql\\bin目录下执行)

注释:将数据库school备份到schoolbbb文件schoolbbb是一个文本文件文件名任取打开看看你会有新发现

后记其实MySQL的对数据库的操作与其它的SQL类数据库大同小异您最好找本将SQL的书看看我在这里只介绍一些基本的其实我也就只懂这些了 呵呵最好的MYSQL教程还是晏子译的MYSQL中文参考手册不仅免费每个相关网站都有下载而且它是最权威的可惜不是象\PHP中文手 册\那样是chm的格式在查找函数命令的时候不太方便

修改登录密码

) mysqladmin u用户名 p旧密码 password 新密码:

mysqladmin u root password century

因为开始时root没有密码所以p旧密码一项就可以省略了

)直接修改user表的root用户口令

mysql> user mysql;

mysql> update user set pasword=password(century) where user=root;

mysql> flush privileges;

flush privileges的意思是强制刷新内存授权表否则用的还是缓沖中的口令

测试密码是否修改成功:

)不用密码登录:

[root@test local]# mysql

ERROR : Access denied for user: root@localhost (Using password: NO)

显示错误说明密码已经修改

)用修改后的密码登录:

[root@test local]# mysql u root p

Enter password: (输入修改后的密码century)

Welcome to the MySQL monitor Commands end with ; or \g

Your MySQL connection id is to server version:

Type help; or \h for help Type \c to clear the buffer

mysql>

成功!

这是通过mysqladmin命令修改口令也可通过修改库来更改口令

启动和停止:

启动Mysql从版本开始作了改动默认安装后服务要用MySQL用户来启动不允许root用户启动

如果非要用root用户来启动必须加上user=root参数(/safe_mysqld user=root &)停止mysqladmin u root p shutdown

导出meeting数据库

mysqldump uroot pcentury meeting > db_meetingsql

导人dbname数据库:

mysqldump uroot pcentury dbname < xxxsql

导入数据库还可用类似于oracle中@my_scriptsql的方式一次执行大量sql语句这在使用mysqldump不起作用时非常有用

#/mysql uroot p < /home/xuys/db_meeting_sql

(注create databaseuse databasenamecreate table和insert into语句都可写在上面的脚步文件中)

给表改名:

RENAME TABLE ztemp TO ztemp;

修改字段属性

ALTER TABLE bbabase CHANGE news_id id VARCHAR() NOT NULL;

在表中的content后增加一字段

ALTER TABLE bbabase ADD leave_time DATETIME NOT NULL AFTER

               

上一篇:mysqldump用法数据库导出

下一篇:Tomcat下配置MySQL数据库连接池