分类目录

链接

2011 年 12 月
 1234
567891011
12131415161718
19202122232425
262728293031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > LINUX, MySQL > 正文
Linux下MySQL 5.5安装详解
LINUX, MySQL 暂无评论 阅读(4,144)

一.下载说明

 MySQL 分为Community Server 和 Enterprise Edition。 其中Community Server 可以直接从mysql 的官网下载。Enterprice Edition 只能从Oracle edelivery上下载,不过Edelivery 现在已经屏蔽了中国的IP,如果国内的用户一般不能从edelivery上下载,需要翻_墙出去才能下载。

前期的一些准备说明,参考:

MySQL 发展史

http://blog.csdn.net/tianlesoftware/article/details/6999245

Mysql 不同版本 说明

http://blog.csdn.net/tianlesoftware/article/details/6723117

1.1 官方文档上有关MySQL安装文件类型说明:

       http://dev.mysql.com/doc/refman/5.5/en/index.html

     这里讲了3种方式来安装MySQL数据库,我这里用最简单的RPM 包来安装。 这里要注意一个问题,就是设置MySQL的自启动。 如果使用native package来安装,会自动设置为自启动,如果使用其他的方式,如source,binary和RPM,就需要单独的来设置自启动。

1.2 下载安装包

       我这里下载Community Server 版的,Enterprise Edition版的请到Oracle E-Delivery上下载。Enterprise Edition 有30天的试用期。

  Community Server下载地址:http://www.mysql.com/downloads/mysql/

 

这里要注意的,MySQL的Tar 包还是比较大,要比RPM包大3倍左右。

MySQL 的RPM 包有如下几个:

看一下每个rpm 包具体的描述:

(1)MySQL-server-VERSION.glibc23.i386.rpm

The MySQLserver. You need this unless you only want to connect to a MySQL server runningon another machine.

(2)MySQL-client-VERSION.glibc23.i386.rpm

The standardMySQL client programs. You probably always want to install this package.

(3)MySQL-devel-VERSION.glibc23.i386.rpm

The librariesand include files that are needed if you want to compile other MySQL clients,such as the Perl modules.

(4)MySQL-debuginfo-VERSION.glibc23.i386.rpm

This packagecontains debugging information. debuginfo RPMs are never needed touse MySQL software; this is true both for the server and for client programs.However, they contain additional information that might be needed by a debuggerto analyze a crash.

(5)MySQL-shared-VERSION.glibc23.i386.rpm

This packagecontains the shared libraries (libmysqlclient.so*) that certain languages andapplications need to dynamically load and use MySQL. It containssingle-threaded and thread-safe libraries. Prior toMySQL 5.5.6, if you install this package, do not installthe MySQL-shared-compat package.

(6)MySQL-shared-compat-VERSION.glibc23.i386.rpm

This packageincludes the shared libraries for MySQL 3.23, 4.0, and so on. It containssingle-threaded and thread-safe libraries. Install this package if you have applicationsinstalled that are dynamically linked against older versions of MySQL but youwant to upgrade to the current version without breaking the librarydependencies. Before MySQL 5.5.6, MySQL-shared-compat also includesthe libraries for the current release, so if you install it, you should notalso install MySQL-shared. As of 5.5.6, MySQL-shared-compat doesnot include the current library version, so there is no conflict.

(7)MySQL-embedded-VERSION.glibc23.i386.rpm

The embeddedMySQL server library.

(8)MySQL-test-VERSION.glibc23.i386.rpm

This packageincludes the MySQL test suite.

(9)MySQL-VERSION.src.rpm

This containsthe source code for all of the previous packages. It can also be used torebuild the RPMs on other architectures (for example, Alpha or SPARC).

二. 安装MySQL

2.1 安装说明

(1)MySQL的安装包有很多个,作用也不同,在大多数情况下,只需要安装MySQL-server 和 MySQL-client,其他的包根据需要来安装。

(2)The server RPM places data underthe /var/lib/mysql directory. The RPM also creates a login accountfor a user named mysql (if one does not exist) to use for running theMySQL server, and creates the appropriate entries in /etc/init.d/ tostart the server automatically at boot time. (This means that if you haveperformed a previous installation and have made changes to its startup script,you may want to make a copy of the script so that you do not lose it when youinstall a newer RPM.)

(3)During RPM installation, a usernamed mysql and a group named mysql are created on thesystem. This is done using the useradd, groupadd,and usermod commands. Those commands require appropriateadministrative privileges, which is required for locally managed users andgroups (as listed in the /etc/passwd and /etc/groupfiles) by theRPM installation process being run by root.

       --在MySQL 安装时,会创建mysql 用户和mysql组。

(4)MySQL 的相关目录说明

/usr/bin :Client programs and scripts    -- mysqladmin mysqldump等命令

/usr/sbin: The mysqld server

/var/lib/mysql:Log files, databases  --这个目录就是数据库的目录

/usr/share/info:Manual in Info format

/usr/share/man:Unix manual pages

/usr/include/mysql:Include (header) files

/usr/lib/mysql:Libraries

/usr/share/mysql : Miscellaneous support files,including error messages, character set files, sample configuration files, SQLfor database installation

              --mysql.server命令及配置文件

/usr/share/sql-bench: Benchmarks

/etc/rc.d/init.d/: 启动脚本文件mysql的目录

2.2 安装

--安装Server端:

[root@rac2 software]# ls

MySQL-client-5.5.15-1.rhel5.x86_64.rpm

MySQL-devel-5.5.15-1.rhel5.x86_64.rpm

MySQL-embedded-5.5.15-1.rhel5.x86_64.rpm

MySQL-server-5.5.15-1.rhel5.x86_64.rpm

MySQL-shared-5.5.15-1.rhel5.x86_64.rpm

MySQL-shared-compat-5.5.15-1.rhel5.x86_64.rpm

MySQL-test-5.5.15-1.rhel5.x86_64.rpm

[root@rac2 software]# rpm -ivh MySQL-server-5.5.15-1.rhel5.x86_64.rpm

Preparing...               ########################################### [100%]

  1:MySQL-server          ########################################### [100%]

PLEASE REMEMBER TO SET A PASSWORD FOR THEMySQL root USER !

To do so, start the server, then issue thefollowing commands:

/usr/bin/mysqladmin -u root password'new-password'

/usr/bin/mysqladmin -u root -h rac2password 'new-password'

Alternatively you can run:

/usr/bin/mysql_secure_installation

which will also give you the option ofremoving the test

databases and anonymous user created bydefault.  This is

strongly recommended for productionservers.

See the manual for more instructions.

Please report any problems with the /usr/bin/mysqlbugscript!

[root@rac2 software]#

--- 安装客户端

[root@rac2 software]# rpm -ivh MySQL-client-5.5.15-1.rhel5.x86_64.rpm

Preparing...               ########################################### [100%]

  1:MySQL-client           ###########################################[100%]

2.3 其他操作

2.3.1 查看在时创建的mysql用户和mysql group:

[root@rac2 bin]# cat /etc/passwd|grep mysql

mysql:x:103:106:MySQLserver:/var/lib/mysql:/bin/bash

[root@rac2 bin]# cat /etc/group | grepmysql

mysql:x:106:

2.3.2 修改密码

--连接MySQL 报错:

[root@rac2 software]# mysql

ERROR 2002 (HY000): Can't connect to localMySQL server through socket '/var/lib/mysql/mysql.sock' (2)

--启动MySQL 后,在连正常:

[root@rac2 ~]# /etc/init.d/mysql start

Starting MySQL...                                          [  OK  ]

[root@rac2 init.d]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.5.15 MySQL CommunityServer (GPL)

Copyright (c) 2000, 2010, Oracle and/or itsaffiliates. All rights reserved.

Oracle is a registered trademark of OracleCorporation and/or its

affiliates. Other names may be trademarksof their respective

owners.

Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.

mysql>

--注意这里,因为MySQL默认没有密码,所以这里我们没有输入密码就直接连上了。

--修改密码,这个是安装Server 中提示的:

[root@rac2 ~]# /usr/bin/mysqladmin -u root password root

[root@rac2 ~]# mysql

ERROR 1045 (28000): Access denied for user'root'@'localhost' (using password: NO)

--修改密码之后,就提示要使用密码了。

[root@rac2 ~]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 5

Server version: 5.5.15 MySQL CommunityServer (GPL)

Copyright (c) 2000, 2010, Oracle and/or itsaffiliates. All rights reserved.

Oracle is a registered trademark of OracleCorporation and/or its affiliates. Other names may be trademarks of theirrespective owners.

Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.

mysql>

--输入密码后成功连接。

2.3.3 查看MySQL端口 3306, 这个是默认端口:

[root@rac2 ~]# netstat -nat|grep 3306

tcp       0      0 192.168.3.100:32842         192.168.3.100:3306          TIME_WAIT

tcp       0      0 :::3306                     :::*                        LISTEN

2.3.4 设置开机自启动

--查看MySQL 开机自启动设置:

[root@rac2 ~]# chkconfig --list |grep mysql

mysql           0:off   1:off  2:on    3:on    4:on   5:on    6:off

这里的数字分别代表Linux启动的不同模式,3是命令行,5是窗口。

--关闭开机自启动

[root@rac2 ~]# chkconfig mysql off

[root@rac2 ~]# chkconfig --list |grep mysql

mysql          0:off   1:off  2:off   3:off   4:off  5:off   6:off

--启用开机自启动:

[root@rac2 ~]# chkconfig mysql on

[root@rac2 ~]# chkconfig --list |grep mysql

mysql           0:off   1:off  2:on    3:on    4:on   5:on    6:off

[root@rac2 ~]#

--将Mysql 从chkconfig服务里删除:

[root@rac2 ~]# chkconfig --del mysql

[root@rac2 ~]# chkconfig --list |grep mysql

--将Mysql 添加到chkconfig里:

[root@rac2 ~]# chkconfig --add mysql

[root@rac2 ~]# chkconfig --list |grep mysql

mysql           0:off   1:off  2:on    3:on    4:on   5:on    6:off

2.4 数据库操作

[root@rac2 ~]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 6

Server version: 5.5.15 MySQL CommunityServer (GPL)

Copyright (c) 2000, 2010, Oracle and/or itsaffiliates. All rights reserved.

Oracle is a registered trademark of OracleCorporation and/or its

affiliates. Other names may be trademarksof their respective

owners.

Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.

--查看已经存在的数据库,这几个是安装时自动创建的

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.00 sec)

--使用mysql 数据库

mysql> use mysql

Reading table information for completion oftable and column names

You can turn off this feature to get aquicker startup with -A

Database changed

--查看mysql 数据库下面的表

mysql> show tables;

+---------------------------+

| Tables_in_mysql           |

+---------------------------+

| columns_priv              |

| db                        |

| event                     |

| func                      |

| general_log               |

| help_category             |

| help_keyword              |

| help_relation             |

| help_topic                |

| host                      |

| ndb_binlog_index          |

| plugin                    |

| proc                      |

| procs_priv                |

| proxies_priv              |

| servers                   |

| slow_log                  |

| tables_priv               |

| time_zone                 |

| time_zone_leap_second     |

| time_zone_name            |

| time_zone_transition      |

| time_zone_transition_type |

| user                      |

+---------------------------+

24 rows in set (0.01 sec)

--创建数据库Dave

mysql> create database dave;

Query OK, 1 row affected (0.01 sec)

--在dave 数据库下面创建dave表:

mysql> use dave;

Database changed

mysql> create table dave(id int,namechar(20));

Query OK, 0 rows affected (0.01 sec)

--查看dave 表结构:

mysql> desc dave;

+-------+----------+------+-----+---------+-------+

| Field | Type     | Null | Key | Default | Extra |

+-------+----------+------+-----+---------+-------+

| id   | int(11)  | YES  |     | NULL   |       |

| name | char(20) | YES  |     | NULL   |       |

+-------+----------+------+-----+---------+-------+

2 rows in set (0.00 sec)

--向dave 表里插入2条记录:

mysql> insert into davevalues(1,'dave');

Query OK, 1 row affected (0.00 sec)

mysql> insert into davevalues(2,'anqing');

Query OK, 1 row affected (0.01 sec)

mysql> select * from dave;

+------+--------+

| id  | name   |

+------+--------+

|   1 | dave   |

|   2 | anqing |

+------+--------+

2 rows in set (0.00 sec)

--update 表:

mysql> update dave set name='david dai'where id=1;

Query OK, 1 row affected (0.01 sec)

Rows matched: 1  Changed: 1 Warnings: 0

mysql> select * from dave;

+------+-----------+

| id  | name      |

+------+-----------+

|   1 | david dai |

|   2 | anqing    |

+------+-----------+

2 rows in set (0.00 sec)

--drop 表:

mysql> drop table dave;

Query OK, 0 rows affected (0.01 sec)

--drop 数据库:

mysql> drop database dave;

Query OK, 0 rows affected (0.00 sec)

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.01 sec)

至此,操作结束。

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:Linux下MySQL 5.5安装详解 | Bruce's Blog

发表评论

留言无头像?