Linux环境下搭建MYSQL数据库指令详情

时间:2024-04-12 21:04:54

一、mysql数据库的安装

确保安装gcc(开发工具)

#groupadd mysql

#useradd -g mysql mysql

#cd /usr/local

# tar -zxvf mysql-5.0.37-linux-i686-glibc23.tar.gz

# ln -s mysql-5.0.37-linux-i686-glibc23 mysql //创建别名

#cd mysql

#scripts/mysql_install_db --user=mysql     //

#chown -R root  .

#chown -R mysql data

#chgrp -R mysql .

#bin/mysqld_safe --user=mysql &    //

#cd /root

#vi .bash_profile

     **add the follow data**

    PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

#logout

     **login**

# mysqladmin -u root password 123456

#cd /usr/local/mysql

#cp support-files/mysql.server /etc/rc.d/init.d/mysqld

#/etc/rc.d/init.d/mysqld start

二、mysql数据库的启动、重启和停止

#/etc/rc.d/init.d/mysqld start

******************************************************************

三、mysql数据库的登录

mysql 命令

#mysql [-u username] [-h host] [-p[password]] [dbname]

username 与 password 分别是 mysql 的用户名与密码,mysql的初始管理帐号是root,没有密码。

注意:这个root用户不是Linux的系统用户。mysql默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。

# mysql –u root –p

******************************************************************

四、修改登录密码

mysql默认没有密码,安装完毕增加密码的重要性是不言而喻的。

mysqladmin命令

#mysqladmin -u 用户名 -p旧密码 password 新密码

示例

1、给root加个密码123456.

键入以下命令 :

# mysqladmin -u root password 123456

:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

******************************************************************

五、mysql的常用操作

注意:MySQL中每个命令后都要以分号;结尾.

1、显示数据库

mysql> show databases;

+————————————-+

| Database                   |

+————————————-+

| mysql                  |

| test                     |

+———-—————————+

2 rows in set (0.01 sec)

2、显示数据库中的表

mysql> use mysql;

//打开库,对每个库进行操作就要打开此库,类似于SQL Server

Database changed

mysql> show tables;

+———————–+

| Tables_in_mysql|

+———————–+

| columns_priv  |

| db       |

| func      |

| host      |

| tables_priv    |

| user      |

+———————–+

6 rows in set (0.01 sec)

3、显示数据表的结构:

mysql> describe 表名;

4、显示表中的记录:

mysql> select * from 表名;

例如:显示mysql库中user表中的记录。

mysql> select * from user;

5、建库:

mysql>create database 库名;

//值得注意的是该处的sql命令都区分大小写

例如:创建数据库student

mysql> create database student;

6、建表:

mysql> use 库名;

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

例如:在刚创建的student库中建立表sinfo,表中有id(序号,自动增长),name(姓名),sex(性别),birth(出身年月)四个字段

mysql> use student;

mysql>create table sinfo(id int(3) auto_increment primary key, name char(8) , sex char(2), birth date);

可以用describe命令察看刚建立的表结构。

mysql> describe sinfo;

7、增加记录

例如:增加几条相关记录。

mysql>insert into sinfo(name,sex,birth) values('Hellon', '女', '1984-1-1');

mysql>insert into sinfo(name,sex,birth) values('Bill','男', '1985-1-2');

可用select命令来验证结果.

mysql> select * from sinfo;

8、修改记录

mysql> update sinfo set id=2 where name='chris';

9、删除记录

mysql> delete from sinfo where id=1;

10、删库和删表

drop database 库名;

drop table 表名;

******************************************************************

六、备份与恢复

1、备份

例如:将上例创建的student库备份到文件student_bak中

# cd /var/lib/mysql                                //数据库存放目录

# mysqldump [-u root -p] --opt student > student_bak

2、恢复

# mysql [-u root –p] abc < student_bak

//数据库abc得存在

******************************************************************
七、创建mysql用户

grant命令

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

示例

1、增加一个用户user1密码为123456,让此用户只可以在localhost上登录,并可以对数据库student进行查询操作(localhost指本地主机,即mysql数据库所在的那台主机),这样用户即使知道user1的密码,他也无法从网上直接访问数据库,只能通过 mysql主机来操作student库。首先用以root用户连入mysql,然后键入以下命令:

mysql>grant select on student.* to user1@localhost identified by "123456";

2、增加一个用户user2密码为123456,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:

mysql> grant select,insert,update,delete on *.* to user2@"%" identified by "123456";

注意

例2增加的用户是十分危险的,如果知道了user2的密码,那么他就可以在网上的任何一台电脑上登录你的mysql数据库并对你的数据为所欲为了。

用新增的用户登录mysql,应采用如下命令:

#mysql -u username -p -h x.x.x.x 

// username登录主机的用户名

// x.x.x.x登录主机的ip地址