Chinaunix首页 | 论坛 | 博客
  • 博客访问: 136113
  • 博文数量: 24
  • 博客积分: 2022
  • 博客等级: 大尉
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-21 01:00
文章分类
文章存档

2010年(1)

2009年(23)

我的朋友

分类: LINUX

2009-10-23 11:40:34

.MySQL服务的安装与启动

   Linux几乎所有的发行版本都内置了MySQL数据库。RHEL5也自带了MySQL服务。对于已经安装了MySQLRHEL5可以执行以下命令查看:

  #rpm -qa | grep mysql

 MySQL相关的软件包                          

mysql-5.0.22-2.1.i386.rpm(第二盘光张)―――――――――――MySQL客户端程序和共享库

mysql-connector-odbc-3.51.12-2.2.i386.rpm(第二盘光张)――MySQLODBC驱动程序

MySQL-python-1.2.1-1.i386.rpm (第二盘光张)―――――――一个到MySQL的界面

mysql-server-5.0.22-2.1.i386.rpm (第二盘光张) ――――――MySQL服务器和相关文件

libdbi-dbd-mysql-0.8.1a-1.2.2.i386.rpm (第二盘光张)

perl-DBD-MySQL-3.0007-1.fc6.i386.rpm(第二盘光张)

freeradius-mysql-1.1.3-1.1.el5.i386.rpm (第三张光盘)                

mysql-devel-5.0.22-2.1.i386.rpm(第三张光盘)――――――――库和包含文件,若需要编译其他MySQL客户端,如Perl模块,则需安装

mod_auth_mysql-3.0.0-3.1.i386.rpm  (第三张光盘)

mysql-test-5.0.22-2.1.i386.rpm(第三张光盘)

mysql-bench-5.0.22-2.1.i386.rpm (第三张光盘)―――――――性能测试工具和基准,需要PerlDBD::mysql模块 

php-mysql-5.1.6-5.el5.i386.rpm(第三张光盘)------------------一个用于使用MySQL数据库的PHP程序的模块

qt-MySQL-3.3.6-20.el5.i386.rpm(第三张光盘)

  1.手工安装MySQL软件包:

    上下载需要的mysql版本的软件包,也可以在RHEL5的光盘中找到需要安装的rpm软件包,然后进行安装

    若用光盘安装,需依次安装以下软件包

#rpm -ivh perl-DBI-1.52-1.fc6.i386.rpm(第二张光盘)

#rpm -ivh perl-DBD-MySQL-3.0007-1.fc6.i386.rpm(第二张光盘)

#rpm -ivh mysql-5.0.22-2.1.i386.rpm(第二张光盘)

#rpm -ivh mysql-server-5.0.22-2.1.i386.rpm (第二张光盘) 

安装完成后,在Linux下的安装布局如下表:

                 linux rpm包安装布局

目录

目录内容

/usr/bin

客户端程序和脚本

/usr/sbin

mysqld服务器

/var/lib/mysql

日志文件,数据库

/usr/share/doc/packages

文档

/usr/include/mysql

包含()文件

/usr/lib/mysql

/usr/share/mysql

错误消息和字符集文件

/usr/share/sql-bench

基准程序

2.根据源代码编译安装:

  如果需要变更MySQL的某些功能或进行定制安装,则可以下载源代码,通过编译完成安装。

  以下载MySQL-community-5.0.45-0.rhel5.src.rpm为例:

    检查是否存在mysql用户可用如下命令:

       #grep "^mysql: " /etc/passwd  -i

    如果没有,则需要创建该用户:

       #useradd  mysql  /opt/mysql

    安装源文件:

       #rpm -ivh MySQL-community-5.0.45-0.rhel5.src.rpm

    /usr/src/redhat/SOURCES/目录中,找到mysql-5.0.45a.tar.gz,然后解包:

       #tar -zxvf mysql-5.0.45.tar.gz

    解开该压缩包,生成mysql-5.0.45目录,在该目录下能够看到binscripts子目录。bin目录包含客户程序和服务器,scripts目录

    包含mysql_install_db脚本,用于初始化服务器的存取权限。

        在进行编译前,需要注意几个重要的配置参数:

        ·--prefix=PREFIX该参数是与目录结构无关的文件的安装前缀,一般指根据搜索路径或绝对路径引用文件,不必与执行文件放在

                          一起,默认为/usr/local

        ·--exec-prefix=EPREFIX该参数是与执行文件目录相关文件的安装前缀,文件执行时,根据相对目录进行引用,这些文件要与

                                  执行文件放在一起。默认与PREFIX放在一起。

    MySQL安装到/opt/mysql目录下:

        #./configure  --prefix  /opt/mysql

    需要注意的是,编译参数可以设置多次,以最后一次设置为准。

    最后,执行以下命令编译并安装MySQL:

        #make

        #make  check

        #su  mysql

        #make  install

        #cd  scripts

        #./mysql_install_db

     测试安装是否成功可以用以下命令,看到mysql>提示符后,则表明MySQLP安装成功。

        #/opt/mysql/bin/mysql_safe  &

        #/opt/mysql/bin/mysql  -u  root

 

  3.用命令行方式启动停止MySQL服务

    RHEL5中,MySQL可能是系统自带的,也可能是用户根据需要编译安装的,因此,在通过命令行方式启动和停止MySQL服务时,

    使用的命令也有所不同。

    1如果是RHEL5自带的MySQL,则使用如下命令:

        #service mysqld start     =#/etc/init.d/mysqld start     //启动MySQL服务;

        #service mysqld stop     =#/etc/init.d/mysqld stop     //停止MySQL服务;

        #service mysqld restart   =/etc/init.d/mysqld restart   //重新启动MySQL服务;

        #mysqladmin status                                    //检查MySQL服务状态;

   2如果不是系统自带的MySQL服务,则使用如下方法:

     在默认的情况下,没有设置为系统服务的形式,需要通过以下方式启动,&表示后台运行:

        #/opt/mysql/bin/mysqld_safe  &

     类似地,停止MySQL服务时应使用如下命令:

        #/opt/mysql  /bin/mysqladmin  shutdown

  4.自动启动MySQL服务

    1对于系统自带的MySQL服务:

        #ntsysv

    2对于手工安装的MySQL服务

        通过在/etc/rc.local文件的尾部追加启动MySQL的命令来实现自动启动。

    3图形界面下-系统-管理-服务器设置-服务-服务配置-mysqld-选中复选框,同样可以实现系统启动自运行mysqld

.MySQL数据库的管理

   MySQL数据库的管理和使用包括客户端的启动,客户端操作,修改管理员口令,通过配置文件管理MySQL服务器等。

 1.启动MySQL客户端

   当第一次安装MySQL时,访问数据库服务器的用户只能是MySQL管理员,即root用户。但该root用户与Linux系统的root用户不

   同。默认情况下,root用户的初始密码为空。通过“mysql”命令可以启动MySQLP客户端:

        #mysql

         mysql>

   当成功连接后,则可以在mysql>提示符下键入“quit”或“\q”断开客户端与服务器的连接:

         mysql>quit

         Bye

   也可以输入Ctrl+d断开连接。

 2.修改管理员口令

   上面提到,由于MySQL默认root用户的密码为空,因此,应该尽快地修改MySQL管理员的密码。要修改root用户的密码,则需要先

   退出连接状态,然后使用以下格式的“mysqladmin”命令:

        #mysqladmin  -u  root  password  密码字符串

   命令执行后,root用户的密码就改为密码字符串的内容了。

       例如:要将root用户密码改为123456#mysqladmin  -u  root  password  123456

   修改root用户密码后,如若再次连接服务器,则需要使用以下格式的命令:

        #mysql  -h  主机名或IP地址  -u  用户名 -p

       例如:#mysql  -h  localhost  -root  -p Enter passsword:后输入正确的密码则可正常连接。

   root用户已经重新设置了密码,如若需要再次修改其密码时,则应使用以下格式的语句:

        #mysqladmin  -u  root  -p  password 密码字符串

       例如:将MySQLroot用户密码由原来设置的123456改为654321

            #mysqladmin -u root -p password 654321

             Enter password:(123456)

            需要注意:在Enter password:后先输入的是原密码123456,这样root用户的密码才会变更为654321

 3.MySQL的配置文件

   RHEL5,MySQL的应用程序将其配置信息存放到my.cnf文件中,MySQL的各应用程序在执行时,都会试图从my.cnf文件中读

   取配置文件,其搜索的顺序为:

      首先试图读取/etc/my.cnf,如果存在,则采用/etc/my.cnf中的配置信息;

      若没有发现/etc/my.cnf文件,则试图查找MySQLvar安装路径/my.cnf,即/var/lib/mysql/,如果存在,则采用其配置信息;

      若没有发现MySQLvar安装路径/my.cnf,则试图读取(用户主目录)/my.cnf,如果读取到,则采用其配置信息; 

   Linux中,MySQL的参数是区分大小写的。多数MySQL的应用程序,都支持以下共同的参数,示例如下:

      --no-defaults:不读取任何配置文件。

      --defaults-file=#:读取指定的配置文件#

      --defaults-extra-file=#:读取系统默认的配置文件后,再读取指定的配置文件#

      -h host_name--host=host_name:连接给定主机上的MySQL服务器。

      -u user_name--user=user_name:与服务器连接时,MySQL使用的用户名。默认是登录名。

      -p you_pass--password[=your_pass]:与服务器连接时使用的口令。

      -P port_num--port=port_num:与另一台主机连接时使用的TCP/IP端口号。

      -S /path/to/socket--socket=/path/to/socket:localhost连接时(默认主机)使用的套接字文件。

 4.管理MySQL服务器

   Mysqladmin可以用来执行MySQL数据库中的管理操作。语法是:                                           

        #mysqladmin [OPTIONS] command [command-option] command ...

   如果执行mysqladmin -help ,可以得到mysqladmin所支持的一个选项列表。mysqladmin支持下列命令,如下表:

  (以下所有的命令可以被缩短为其唯一前缀。例如“status”可以缩为“stat”,以此类推。)

 

 

                                mysqladmin支持的命令

命令

功能

create databasename

创建新数据库

debug

debug信息写入日志

drop databasename

删除数据库及数据库中的所有表

extended-status

服务器扩展状态信息

flush-hosts

刷新所有主机

flush-logs

刷新日志

flush-status

清除状态变量

flush-tables

刷新表

flush-threads

消除缓冲线程

flush-privileges

重载授权表

kill id,id,....

按进程id杀掉mysql的进程

password new-password

设置为4.1格式的口令

old-password new-password

设置为4.1之前旧格式的口令

ping

检查mysqld是否运行

processlist

显示服务器中活跃进程列表

reload

重载授权表

refresh

更新所有表,关闭日志后再次打开

shutdown

关闭服务器

status

显示服务器状态信息

start-slave

启动从属服务

stop-slave

停止从属服务

variables

打印可用变量

version

输出服务器版本

阅读(2071) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~