ITPub博客

首页 > 数据库 > MySQL > linux-mysql

linux-mysql

MySQL 作者:rgh123 时间:2013-11-19 21:19:00 0 删除 编辑

 

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:
进入目次mysqlin,再键入敕令mysql -uroot -p, 回车后提醒输入密码。
退出mysql敕令:exit(回车)

5.建正mysql密码:
mysqladmin -u用户名 -p旧密码 password 新密码
或进入mysql敕令行SET PASSWORD FOR root=PASSWORD("root");

6.增添新用户。(注意:mysql环境中的敕令前面皆带一个分号做为敕令结束符)
grant select on 数据库.* to 用户名@登录主机 identified by "密码"
如增添一个用户test密码为123,让他能够在任何主机上登录,并对所有数据库有查询、插入、建正、删除的权限。首先用以root用户连入mysql,然后键入以下敕令:
grant select,insert,update,delete on *.* to " Identified by "123";

2、有闭mysql数据库圆面的操做
     
必需首先登录到mysql中,有闭操做皆是在mysql的提醒符下停止,并且每个敕令以分号结束

1、隐现数据库列表。
     show databases;
2、隐现库中的数据表:
      use 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;

3、数据的导入导出

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敕令下实施,可导入表)



1、跟尾MySQL

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

        1、例1:跟尾到本机上的MYSQL。

        首先在挨开DOS窗心,然后进入目次 mysqlbin,再键入敕令mysql -uroot -p,回车后提醒你输密码,假如刚安拆好MYSQL,超等用户root是没有密码的,故间接回车便可进入到MYSQL中了,MYSQL的提醒符是: mysql>。

        2、例2:跟尾到长途主机上的MYSQL。假定长途主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下敕令:

        mysql -h110.110.110.110 -uroot -pabcd123

        (注:u与root能够没有用加空格,别的也一样)

        3、退出MYSQL敕令: exit (回车)。

        2、建正密码

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

        1、例1:给root加个密码ab12。首先在DOS下进入目次mysqlbin,然后键入以下敕令:

        mysqladmin -uroot -password ab12

        注:因为开端时root没有密码,所以-p旧密码一项便能够省略了。

        2、例2:再将root的密码改为djg345。

        mysqladmin -uroot -pab12 password djg345

        3、增添新用户。(注意:和上面不同,上面的因为是MySQL环境中的敕令,所当前面皆带一个分号做为敕令结束符)

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

        例1、增添一个用户test1密码为abc,让他能够在任何主机上登录,并对所有数据库有查询、插入、建正、删除的权限。首先用以root用户连入MySQL,然后键入以下敕令:

        grant select,insert,update,
        delete on *.* to test1@"%" Identified by "abc";

        但例1增添的用户是十分危险的,你想如某小我知讲test1的密码,那么他便能够在internet上的任何一台电脑上登录你的MySQL数据库并对你的数据能够随心所欲了,筹划法子睹例2。

        例2、增添一个用户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的提醒符下停止的,并且每个敕令以分号结束。

1、操做才具

        1、假如你挨敕令时,回车后发现记记加分号,你没必要重挨一遍敕令,只要挨个分号回车便能够了。也便是讲你能够把一个完整的敕令分红几行去挨,完后用分号做结束标识表记标帜便完成。

        2、你能够应用光标上下键调出之前的敕令。但之前我用过的一个MySQL旧版本没有撑持。我现在用的是mysql-3.23.27-beta-win。

        2、隐现敕令

        1、隐现数据库列表:

        show databases;

        刚开端时才两个数据库:mysql和test。MySQL库很重要它里面有MYSQL的体系信息,我们改密码和新增用户,现实上便是用那个库停止操做。

        2、隐现库中的数据表:

        use mysql; //挨开库,学过FOXBASE的必定没有会陌死吧

        show tables;

        3、隐现数据表的布局:

        describe 表名;

        4、建库:

        create database 库名;

        5、建表:

        use 库名;

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

        6、删库和删表:

        drop database 库名;

        drop table 表名;

        7、将表中记录清空:

        delete from 表名;

        8、隐现表中的记录:

        select * from 表名;

        3、一个建库和建表和插入数据的实例

        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

        假如成功,空出一行无任何隐现;如有弊端,会有提醒。(以上敕令曾经调试,你只要将//的诠释去失落便可应用)。

 

4、将文本数据转到数据库中

        1、文本数据应切开的格式:字段数据之间用tab键隔开,null值用\n去与代。

        例:

        3 rose 深圳两中 1976-10-10

        4 mike 深圳一中 1975-12-23

        2、数据传入敕令 load data local infile "文件名" into table 表名。

        注意:你最好将文件复制到\mysql\bin目次下,并且要先用use敕令挨表地点的库。

        5、备份数据库:

        1、mysqldump --opt school>school.bbb

        mysqldump --opt school>school.bbb
        (敕令在DOS的\mysql\bin目次下实施)

        诠释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任与,挨开看看你会有新发现。

        跋文:实在MySQL的对数据库的操做与别的的SQL类数据库大同小同,您最好找本将SQL的书看看。我在那里只先容一些基本的,实在我也便只懂那些了,呵呵。最好的MYSQL教程借是“晏子“译的“MYSQL中文参考手册“没有但免费每个相闭网站皆有下载,并且它是最威看的。可惜没有是象"PHP4中文手 册"那样是chm的格式,在查找函数敕令的时分没有太便利。

        2、建正登录密码

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

        例:mysqladmin -u root password 21century

        注:因为开端时root没有密码,所以-p旧密码一项便能够省略了。

        2)间接建正user表的root用户心令:

        mysql> user mysql;
        mysql> update user set pasword=password("21century") where user="root";
        mysql> flush privileges;

        注:flush privileges的意思是强制革新内存受权表,可则用的借是缓冲中的心令。

        3、测试密码可可建正成功:

        1)没有用密码登录:

        [root@test1 local]# mysql
        ERROR 1045: Access denied for user: "root@localhost" (Using password: NO)

        隐现弊端,表白密码曾经建正。

        2)用建正后的密码登录:

        [root@test1 local]# mysql -u root -p
        Enter password: (输入建正后的密码21century)
        Welcome to the MySQL monitor. Commands end with ; or g.
        Your MySQL connection id is 177 to server version: 3.23.48
        Type "help;" or "h" for help. Type "c" to clear the buffer.
        mysql>

        成功!

        那是经过进程mysqladmin敕令建正心令,也可经过进程建正库去变动心令。

 

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 < ***.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


<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23792820/viewspace-1114625/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-04-25