Linux下MySql管理

一、mysql数据库启停
1.linux下启动mysql的命令:
    mysqladmin start
/ect/init.d/mysql start (前面为mysql的安装路径)
2.linux下重启mysql的命令:
    mysqladmin restart
/ect/init.d/mysql restart (前面为mysql的安装路径)
3.linux下关闭mysql的命令:
    mysqladmin shutdown
/ect/init.d/mysql    shutdown (前面为mysql的安装路径)
4.连接mysql:
格式: mysql -h主机地址 -u用户名 -p用户密码
连接本机mysql,进入目录mysql\bin,再键入命令mysql -uroot -p, 回车后提示输入密码。
连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
   mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
退出mysql命令:exit(回车)
5.修改mysql密码:
格式:mysqladmin -u用户名 -p旧密码 password 新密码
或进入mysql命令行SET PASSWORD FOR root=PASSWORD("root");
如:   mysqladmin -uroot -password NewPWD
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
6.增加新用户。(注意:mysql环境中的命令后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
如增加一个用户test1密码为123,让他可以在任何主机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@\"%\"   Identified by "123"; 
如增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MySQL主机上的web页来访问。
         grant select,insert,update, delete on mydb .* to test2@localhost identified by "abc";
         如果你不想test2有密码,可以再打一个命令将密码消掉。
         grant select,insert,update,delete on mydb .* to test2@localhost identified by "";
二、mysql数据库操作
      
必须首先登录到mysql中(mysql -u root -p),有关操作都是在mysql的提示符下进行,而且每个命令以分号结束;
1、显示数据库列表。
      show databases;
2、显示库中的数据表:
       use mysql; //打开库mysql
       show tables;
3、显示数据表的结构:
     describe 表名;
4、建库:
     create database 库名;
5、建表:
     use 库名;
     create table 表名(字段设定列表);
6、删库和删表:
      drop database 库名;
       drop table 表名;
7、将表中记录清空:
      delete from 表名;
8、显示表中的记录:
     select * from 表名;
9、编码的修改
如果要改变整个mysql编码格式: 
启动mysql的时候,mysqld_safe命令行加入 
--default-character-set=gbk 

如果要改变某个库的编码格式:在mysql提示符后输入命令 
alter database db_name default character set gbk;
 
三、数据的导入导出 
1、文本数据转到数据库中
     文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。例:
     1 name duty 2006-11-23
     数据传入命令 load data local infile "文件名" into table 表名;
2、导出数据库和表
     mysqldump --opt news > news.sql(将数据库news中的所有表备份到news.sql文件,news.sql是一个文本文件,文件名任取。)
     mysqldump --opt news author article > author.article.sql(将数据库news中的author表和article表备份到author.article.sql文件, author.article.sql是一个文本文件,文件名任取。)
     mysqldump --databases db1 db2 > news.sql(将数据库dbl和db2备份到news.sql文件,news.sql是一个文本文件,文件名任取。)
      mysqldump -h host -u user -p pass --databases dbname > file.dump
就是把host上的以名字user,口令pass的数据库dbname导入到文件file.dump中
     mysqldump --all-databases > all-databases.sql(将所有数据库备份到all-databases.sql文件,all-databases.sql是一个文本文件,文件名任取。)
3、导入数据
     mysql < all-databases.sql(导入数据库)
     mysql>source news.sql;(在mysql命令下执行,可导入表)
四、一个建库和建表以及插入数据实例 
        drop database if exists school; //如果存在SCHOOL则删除
         create database school; //建立库SCHOOL
         use school; //打开库SCHOOL
         create table teacher //建立表TEACHER
         (
         id int(3) auto_increment not null primary key,
         name char(10) not null,
         address varchar(50) default ’深圳’,
         year date
         ); //建表结束
         //以下为插入字段
         insert into teacher values(’’,’glchengang’,’深圳一中’,’1976-10-10’);
         insert into teacher values(’’,’jack’,’深圳一中’,’1975-12-23’);
         注:在建表中(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key(2)将NAME设为长度为10的字符字段(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别 呢,只有等以后的文章再说了。(4)将YEAR设为日期字段。
         如果你在MySQL提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:\下,并在DOS状态进入目录\mysql\bin,然后键入以下命令:
         mysql -uroot -p密码 < c:\school.sql
         如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
五、备份数据库: 
         1、mysqldump --opt school>school.bbb
         mysqldump --opt school>school.bbb
         (命令在DOS的\\mysql\\bin目录下执行)
         mysqldump -uroot -p linux > /home/beinan/linuxsir031130.sql
      (备份数据库linux到/home/beinan,数据库的文件名为linuxsir031130.sql)

         注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
         后记:其实MySQL的对数据库的操作与其它的SQL类数据库大同小异,您最好找本将SQL的书看看。我在这里只介绍一些基本的,其实我也就只懂这些了, 呵呵。最好的MYSQL教程还是“晏子“译的“MYSQL中文参考手册“不仅免费每个相关网站都有下载,而且它是最权威的。可惜不是象\"PHP4中文手 册\"那样是chm的格式,在查找函数命令的时候不太方便。


4、启动和停止:
         启动:Mysql从3.23.15版本开始作了改动,默认安装后服务要用MySQL用户来启动,不允许root用户启动。
         如果非要用root用户来启动,必须加上--user=root参数(./safe_mysqld --user=root &)停止:mysqladmin -u root -p shutdown。
         5、导出meeting数据库:
         mysqldump -uroot -p21century meeting > db_meeting.sql
         导人dbname数据库:
         mysqldump -uroot -p21century dbname < xxx.sql
         导入数据库还可用类似于oracle中@my_script.sql的方式一次执行大量sql语句,这在使用mysqldump不起作用时非常有用。
         例:#./mysql -uroot -p < /home/xuys/db_meeting_2003.sql
         (注:create database、use databasename、create table和insert into语句都可写在上面的脚步文件中)
         6、给表改名:
         RENAME TABLE ztemp TO ztemp4;
         7、修改字段属性:
         ALTER TABLE bbabase CHANGE news_id id VARCHAR(5) NOT NULL;
         8、在表中的content后增加一字段:
         ALTER TABLE bbabase ADD leave_time DATETIME NOT NULL AFTER
六、MySQL相关
----------------------------
update:登录SSH后才可操作MySQL!
登录MySQL,输入:
mysql -u username -p -h 208.113.129.128
username替代为你的帐号;出现下面这个提示后输入密码:
Enter password:
接着,登录mysql数据库成功,出现下面提示:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3602 to server version: 5.0.18-standard-log
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
查看你的数据库:
show databases;
查看表结构:
desc tablename;
//主键<PRE>   alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);</PRE>//增加一个新列<PRE>   alter table t2 add d timestamp;   alter table infos add ex tinyint not null default '0';</PRE>//删除列<PRE>   alter table t2 drop column c;</PRE>//重命名列<PRE>   alter table t1 change a b integer;</PRE>
//改变列的类型<PRE>   alter table t1 change b b bigint not null;   alter table infos change list list tinyint not null default '0'; </PRE>//重命名表<PRE>   alter table t1 rename t2;</PRE>加索引<PRE>   mysqlalter table tablename change depno depno int(5) not null;   mysqlalter table tablename add index 索引名 (字段名1[,字段名2 …]);   mysqlalter table tablename add index emp_name (name);</PRE>加主关键字的索引<PRE>    mysqlalter table tablename add primary key(id);</PRE>加唯一限制条件的索引<PRE>  mysqlalter table tablename add unique emp_name2(cardnumber);</PRE>删除某个索引<PRE>   mysql>alter table tablename drop index emp_name;</PRE>修改表:
增加字段:<PRE>   mysqlALTER TABLE table_name ADD field_name field_type;</PRE>修改原字段名称及类型:<PRE>   mysqlALTER TABLE table_name CHANGE old_field_name new_field_name field_type;</PRE>删除字段:<PRE>   mysqlALTER TABLE table_name DROP field_name; </PRE>导入数据库内容。首先要选择你要导入内容的数据库:
use database;
将database更改为你导入数据库内容的数据库名称。在导入数据库前,确认你已经把导出的数据库文件上传到FTP目录下。例如,我在WP利用插
件导出的备份,解压有一个后缀为”.sql”的文件,把这个上传到你的FTP目录下即可;不用放进目录下面,直接上传就可以了。继续原来的话
题,输入下面命令导入数据库:
source wp.sql
其中wp.sql是你的数据库备份文件的名称。
退出mysql:
\q
查看mysql的帮助(用途不大):
\h

源地址:http://blog.renren.com/GetEntry.do?id=455332866&owner=71314763

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值