一总结一下
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