Linux下MySql数据库的安装配置以及简单操作介绍

这篇文章主要介绍“Linux下MySQL数据库的安装配置以及简单操作介绍”,在日常操作中,相信很多人在Linux下MySql数据库的安装配置以及简单操作介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下MySql数据库的安装配置以及简单操作介绍”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联服务项目包括济宁网站建设、济宁网站制作、济宁网页制作以及济宁网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,济宁网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到济宁省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

RPM安装Mysql

mysql需要perl(DBI)和perl-DBD-MySQL的支持,因此先安装perl-DBI及perl-DBD-MySQL

perl-DBI安装

[root@linux-a ~]# rpm -ivh /media/Server/perl-DBI-1.52-1.fc6.i386.rpm  
warning: /media/Server/perl-DBI-1.52-1.fc6.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186  
Preparing...                ########################################### [100%]  
   1:perl-DBI               ########################################### [100%]  
[root@linux-a ~]#

perl-DBD-MySQL安装

[root@linux-a ~]# rpm -ivh /media/Server/perl-DBD-MySQL-3.0007-1.fc6.i386.rpm  
warning: /media/Server/perl-DBD-MySQL-3.0007-1.fc6.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186  
Preparing...                ########################################### [100%]  
   1:perl-DBD-MySQL         ########################################### [100%]  
[root@linux-a ~]#

开始安装mysql

[root@linux-a ~]# rpm -ivh /media/Server/mysql-5.0.22-2.1.i386.rpm  
warning: /media/Server/mysql-5.0.22-2.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186  
Preparing...                ########################################### [100%]  
   1:mysql                  ########################################### [100%]  
[root@linux-a ~]#

安装mysql server

[root@linux-a ~]# rpm -ivh /media/Server/mysql-server-5.0.22-2.1.i386.rpm  
warning: /media/Server/mysql-server-5.0.22-2.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186  
Preparing...                ########################################### [100%]  
   1:mysql-server           ########################################### [100%]  
[root@linux-a ~]#

初始化MySql数据库

[root@linux-a ~]# mysql_install_db  
Installing all prepared tables  
Fill help tables

To start mysqld at boot time you have to copy support-files/mysql.server  
to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !  
To do so, start the server, then issue the following commands:  
/usr/bin/mysqladmin -u root password 'new-password'  
/usr/bin/mysqladmin -u root -h linux-a.test.com password 'new-password'  
See the manual for more instructions.

You can start the MySQL daemon with:  
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory:  
cd sql-bench ; perl run-all-tests

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at  
http://www.mysql.com  
Support MySQL by buying support/licenses at http://shop.mysql.com  
[root@linux-a ~]#

修改mysql目录权限

安装好之后mysql目录权限如下

[root@linux-a ~]# ls -l /var/lib/mysql/  
总计 8  
drwx------ 2 root root 4096 08-16 16:55 mysql  
drwx------ 2 root root 4096 08-16 16:55 test

将mysql目录所有者及用户组修改为mysql

[root@linux-a ~]# chown -R mysql /var/lib/mysql/  
[root@linux-a ~]# chgrp -R mysql /var/lib/mysql/

启动mysql服务

[root@linux-a ~]# service mysqld start  
启动 MySQL: [确定]  
[root@linux-a ~]# mysql  
Welcome to the MySQL monitor.  Commands end with ; or \g.  
Your MySQL connection id is 2 to server version: 5.0.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

出现了“mysql>”提示符,表示安装成功,mysql已经正常启动。

修改root用户密码

默认情况下安装好mysql数据库之后root密码是空的,为了安全起见需要修改root用户密码

[root@linux-a ~]# mysqladmin -u root password 111111   //将root用户的密码修改为111111

登录MySQL

登录MySQL的命令是mysql, mysql 的使用语法如下:

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

username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。

MySQL的几个重要目录

MySQL 安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。

下面就介绍一下这几个目录。

1、数据库目录  
/var/lib/mysql/

2、配置文件  
/usr/share/mysql (mysql.server命令及配置文件)

3、相关命令  
/usr/bin (mysqladmin mysqldump等命令)

4、启动脚本  
/etc/rc.d/init.d/ (启动脚本文件mysql的目录)

开机自动启动mysql

察看mysql是否在自动启动列表中

[root@linux-a ~]# chkconfig --list |grep mysql  
mysqld          0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭

0-6是redhat的7种启动方式,其中3是命令行模式,5是图形界面模式,可以在/etc/inittab中修改

把MySQL添加到你系统的启动服务组里面去

[root@linux-a ~]# chkconfig --add mysql

3)把MySQL从启动服务组里面删除。

[root@linux-a ~]# chkconfig --del mysql 

更改MySQL目录

MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:

1、home目录下建立data目录

cd /home  
mkdir data

2、把MySQL服务进程停掉:

[root@linux-a ~]# mysqladmin -u root -p shutdown  
Enter password:  
[root@linux-a ~]#

3、把/var/lib/mysql整个目录移到/home/data

mv /var/lib/mysql /home/data/

这样就把MySQL的数据文件移动到了/home/data/mysql下

4、找到my.cnf配置文件

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下: 

 [root@linux-a ~]# cp /usr/share/doc/mysql-server-5.0.22/my-medium.cnf  /etc/my.cnf

在这个目录中预设了一个mysql的配置文件,可以根据数据库应用的规模来选择使用哪个配置文件。

5、编辑MySQL的配置文件/etc/my.cnf

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:

vi  my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之)  
# The MySQL server  
[mysqld]  
port   = 3306  
#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)  
socket  = /home/data/mysql/mysql.sock   (加上此行)

6、修改MySQL启动脚本/etc/rc.d/init.d/mysql

最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。

[root@test1 etc]# vi /etc/rc.d/init.d/mysql  
#datadir=/var/lib/mysql    (注释此行)  
datadir=/home/data/mysql   (加上此行)

7、重新启动MySQL服务

如果工作正常移动就成功了,否则对照前面的7步再检查一下。  
   
 MySQL的常用操作

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

1、显示数据库

mysql> show databases;  
+--------------------+  
| Database           |  
+--------------------+  
| information_schema |  
| mysql              |  
| test               |  
+--------------------+  
3 rows in set (0.00 sec)

Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。

2、显示数据库中的表

mysql> use mysql;  
Database changed  
mysql> show tables;

3、显示数据表的结构:

describe 表名;

4、显示表中的记录:

select * from 表名;

例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。

Select * from user;

5、建数据库:

create database 库名;

例如:创建一个名字位aaa的库  
mysql> create databases aaa;

6、建表:

use 库名;  
create table 表名 (字段设定列表);  
例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段  
use aaa;  
mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);  
可以用describe命令察看刚建立的表结构。  
mysql> describe name;  
+-------+---------+------+-----+---------+----------------+  
| Field | Type  | Null | Key | Default | Extra     |  
+-------+---------+------+-----+---------+----------------+  
| id  | int(3) |   | PRI | NULL  | auto_increment |  
| xm  | char(8) | YES |   | NULL  |        |  
| xb  | char(2) | YES |   | NULL  |        |  
| csny | date  | YES |   | NULL  |        |  
+-------+---------+------+-----+---------+----------------+

7、增加记录

例如:增加几条相关纪录。  
mysql> insert into name values('','张三','男','1971-10-01');  
mysql> insert into name values('','白云','女','1972-05-20');  
可用select命令来验证结果。  
mysql> select * from name;  
+----+------+------+------------+  
| id | xm  | xb  | csny    |  
+----+------+------+------------+  
| 1 | 张三 | 男  | 1971-10-01 |  
| 2 | 白云 | 女  | 1972-05-20 |  
+----+------+------+------------+

8、修改纪录

例如:将张三的出生年月改为1971-01-10  
mysql> update name set csny='1971-01-10' where xm='张三';

9、删除纪录

例如:删除张三的纪录。  
mysql> delete from name where xm='张三';

10、删库和删表

drop database 库名;  
drop table 表名;  
   
 增加MySQL用户

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

例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:  
mysql> grant select,insert,update,delete on *.* to user_1@"% " Identified by "123";

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

例 2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。

mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";  
用新增的用户如果登录不了MySQL,在登录时用如下命令:  
mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)  
   
这里特别提示(使用mysql front链接时)  
   
---开一个可以在远程任意妄为的用户:  
grant all privileges on *.* to user_name@'%' identified by 'passwd '

--开一个本地的用户:  
grant all privileges on *.* to user_name@'localhost ' identified by 'passwd '

这里需要特别注意的是当开设账户以后要运行:

flush privileges;

还有就是当帐户不能登陆时也可以这样。

到此,关于“Linux下MySql数据库的安装配置以及简单操作介绍”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前题目:Linux下MySql数据库的安装配置以及简单操作介绍
分享URL:http://scyanting.com/article/pesioo.html