linux的mysql配备

linux的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\bin ,再键入命令 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";

二、有关 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;

三、数据的导入导出

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 命令下执行,可导入表)

一、连接 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 (回车)。

        二、修改密码

        格式: 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

        三、增加新用户。(注意:和上面不同,下面的因为是 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 、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就完成。

        2 、你可以使用光标上下键调出以前的命令。但以前我用过的一个 MySQL 旧版本不支持。我现在用的是 mysql-3.23.27-beta-win

        二、显示命令

        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 表名 ;

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

        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 、文本数据应符合的格式:字段数据之间用 tab 键隔开, null 值用 \\n   来代替。

        例:

        3 rose 深圳二中 1976-10-10

        4 mike 深圳一中 1975-12-23

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

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

        五、备份数据库:

        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 < 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 数据库的基本操作命令
=========================

一、 mysql 服务操作
1
net start mysql // 启动 mysql 服务

2
net stop mysql // 停止 mysql 服务 

3
mysql -h 主机地址 -u 用户名 p 用户密码 // 进入 mysql 数据库

4
quit // 退出 mysql 操作

5
mysqladmin -u 用户名 -p 旧密码 password 新密码 // 更改密码

6
grant select on 数据库 .* to 用户名 @ 登录主机 identified by " 密码 " // 增加新用户
exemple:
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 "";

二、数据库操作
1
show databases; // 列出数据库

2
use database_name // 使用 database_name 数据库

3
create database data_name // 创建名为 data_name 的数据库

4
drop database data_name // 删除一个名为 data_name 的数据库

三、表操作
1
show tables // 列出所有表
create talbe tab_name(
id int(10) not null auto_increment primary key,
name varchar(40),
pwd varchar(40)
) charset=gb2312;
创建一个名为 tab_name 的新表
2
drop table tab_name 删除名为 tab_name 的数据表
3
describe tab_name // 显示名为 tab_name 的表的数据结构
4
show columns from tab_name // 同上
5
delete from tab_name // 将表 tab_name 中的记录清空
6
select * from tab_name // 显示表 tab_name 中的记录
7
mysqldump -uUSER -pPASSWORD --no-data DATABASE TABLE > table.sql // 复制表结构

四、修改表结构
1
ALTER TABLE tab_name ADD PRIMARY KEY (col_name)
说明:更改表得的定义把某个栏位设为主键。
2
ALTER TABLE tab_name DROP PRIMARY KEY (col_name)
说明:把主键的定义删除
3
alter table tab_name add col_name varchar(20); // tab_name 表中增加一个名为 col_name 的字段且类型为 varchar(20)
4
alter table tab_name drop col_name // tab_name 中将 col_name 字段删除
5
alter table tab_name modify col_name varchar(40) not null // 修改字段属性,注若加上 not null 则要求原字段下没有数据
SQL Server200
下的写法是: Alter Table table_name Alter Column col_name varchar(30) not null;
6
、如何修改表名: alter table tab_name rename to new_tab_name
7
、如何修改字段名: alter table tab_name change old_col new_col varchar(40); // 必须为当前字段指定数据类型等属性,否则不能修改
8
create table new_tab_name like old_tab_name // 用一个已存在的表来建新表,但不包含旧表的数据

五、数据的备份与恢复
导入外部数据文本 :
1.
执行外部的 sql 脚本
当前数据库上执行 :mysql < input.sql
指定数据库上执行 :mysql [ 表名 ] < input.sql
2.
数据传入命令 load data local infile "[ 文件名 ]" into table [ 表名 ];
备份数据库: (dos )
mysqldump --opt school>school.bbb
mysqldump -u [user] -p [password] databasename > filename (
备份 )
mysql -u [user] -p [password] databasename < filename (
恢复 )

以上是对 MySQL4.1 进行操作时的一些常用命令。有的是标准 SQL ,有的则只能在 MySQL 中使用,要进行区分