zoukankan      html  css  js  c++  java
  • Mysql在Linux的基本操作文档

    总结了Mysql在Linux下的应用,以下是Linux操作系统操作MySQL常用命令小结,需要的朋友参考下:

    1、Mysql服务

    # chkconfig --list        列出所有系统服务
    # chkconfig --list | grep on     列出所有启动的系统服务
    # chkconfig --list mysqld
    # whereis mysql  查看文件安装路径
    # which mysql     查询运行文件所在路径(文件夹地址)
    
    usr/bin/mysql 是指:mysql的运行路径
    var/lib/mysql 是指:mysql数据库文件的存放路径
    usr/lib/mysql 是指:mysql的安装路径

    2、环境变量

    # vi /etc/profile
    # export MYSQL_HOME=/usr/local/mysql
    # export PATH=$PATH:$MYSQL_HOME/bin

    3、数据库启动指令

    #启动mysql的命令
    1. mysqladmin start 
    2. /ect/init.d/mysql start (前面为mysql的安装路径) 
    3. service mysqld start 
    
    #重启mysql的命令
    1. mysqladmin restart 
    2. /ect/init.d/mysql restart (前面为mysql的安装路径) 
    3. service mysqld restart
    
    #停止mysql的命令
    1. mysqladmin shutdown 
    2. /ect/init.d/mysql shutdown (前面为mysql的安装路径) 
    3. service mysqld stop

    4、Mysql基本信息查看

    -- 查询时间
    select now();
    -- 查询用户
    select user();
    -- 查询数据库版本
    select version();
    -- 查询当前使用的数据库
    select database();

    5、连接数据库

    mysql -h 主机地址 -u用户名 -p用户密码 
    --例1:首先在打开DOS窗口,然后进入目录 /mysql/bin,再键入命令
    mysql -uroot -p
    --回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: 
    mysql>
    --例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令: 
    mysql -h110.110.110.110 -uroot -pabcd123 
    --(注:u与root可以不用加空格,其它也一样) 
    --退出MYSQL命令: 
    exit (回车)。    

    6、修改密码

    mysqladmin -u用户名 -p旧密码 password 新密码
    --例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令: 
    mysqladmin -uroot -password ab12 
    --注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 
    --例2:再将root的密码改为djg345。 
    mysqladmin -uroot -pab12 password djg345

    7、添加新用户

      (注意:和上面不同,下面的因为是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、增加一个用户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 "";

    8、数据库基本SQL语句

    -- 列出数据库
    show database;
    -- 创建数据库
    create database XXXX;
    -- 选择数据库
    use DatabaseName;
    -- 罗列表
    show tables;
    -- 显示表格的属性
    show columns from tablename;
    -- 建立数据库
    source filename.txt;
    -- 增加一个字段
    alter table tablename add column filename datatype;
    -- 增加多个字段
    alter table tablename add column filename1 datatype,add column filename2 datatype;
    -- 新增一个用户
    grant all on *.* to user@localhost identity by "password";
    -- 删除student_course数据库中的student数据便
    rm -f student_cource/student.*
    -- 备份数据库(备份数据库Apple1)
    MySQLdump -u root -p Apple1>C:Apple1.txt
    -- 备份表(将数据库Apple1中的mytable表备份)
    MySQLdump -u root -p mytable>C:Apple.txt
    -- 创建临时表(mytable)
    create temporary table mytable(id int,address varchar(20),name varchar(20));
    -- 创建表前先判断系统是否存在这个表
    create table if not exists mytable(......);
    -- 从已有的table1表中复制表结构到table2
    create table table2 select * from table1 where 1<>1;
    -- 复制表
    create table table2 select * from table1;
    -- 重命名表名
    alter table table1 rename as table2;
    -- 修改列的数据类型
    alter table table1 modify ID int unsigned;--把列ID的类型修改为int unsigned
    alter table table1 change ID SID int unsigned; --把列ID改名为 SID且类型改为int unsigned
    -- 创建索引
    alter table table1 add index Ind_id (ID);
    create index ind_ID on tablename (ID);
    create unique index ind_id on tablename(ID);
    -- 删除索引
    drop index ind_id On table1;
    alter table table1 drop index ind_ID;
    -- 联合查询字符与多个列连接‘
    select concat(ID,':',name,'=') from table1
    -----------------------第二片:实践运用--------------------------------------显示数据表结构
    describe tablename;
    --显示表记录
    select * from tablename;
    --查询能操作MySQL的用户
    select * from user;
    --创建数据库
    create database databasename
    --例如↓ MySQL> create database AA; ---创建表 mysql> create table table1(ID int auto_increment not null primary key,name char(6),sex char(6),birthday date) ---插入几条记录 MySQL> insert into AA values('','张三','','1971-10-01'); MySQL> insert into AA values('','刘佳佳','','1978-10-01'); --查询结果 MySQL> select * from AA; --修改张三的生日为1971-01-10 MySQL> update AA set birthday = '1971-01-10' where ID = '1'; --删除记录 MySQL> delete from AA where ID = '1'; --删除表以及库 mysql> drop table tablename; MySQL> drop database databasename;
    --新增万能用户 -- 格式:grant select On database.* to username@localhost identity by 'password' 用户名user_1 密码是123456 --可以自任何PC上登录这个用户对数据库为所欲为 MySQL> grant select,insert update,delete on *.* to user_1@"%" identity by "123456"; --创建只有在本机才能操作数据库的用户 用户名user_2 密码是123456 MySQL> grant select,insert update,delete on *.* to user_2@localhost identity by "123456"; --登录数据库库 MySQL> -u user_1 -p -h IP地址;

    9、补充SQL语句

    --limit 的使用:
    select * from table_name limit 3--每页只显示3行 
    select * from table_name limit 3,4 
    --从查询结果的第三个开始,显示四项结果。 此处可很好的用来作分页处理。 
    
    --对查询结果进行排序: 
    select * from table_name order by field1,orderby field2;    --多重排序--删除表中所有数据,不可恢复:
     truncate table 数据表名称 
    
    --导出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语句都可写在上面的脚步文件中) 

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

      文本数据应符合的格式:字段数据之间用tab键隔开,null值用\n来代替。 例:
      3 rose 深圳二中 1976-10-10
      4 mike 深圳一中 1975-12-23
      数据传入命令 load data local infile "文件名" into table 表名。
      注意:你最好将文件复制到\mysql\bin目录下,并且要先用use命令打表所在的库。

  • 相关阅读:
    第一次作业
    C语言I博客作业02
    C语言|博客作业11
    C语言I博客作业10
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    JDK-14 & Eclipse & Hello World!
  • 原文地址:https://www.cnblogs.com/jing99/p/8878933.html
Copyright © 2011-2022 走看看