分类: LINUX
2009-10-23 11:40:34
一.MySQL服务的安装与启动
Linux几乎所有的发行版本都内置了MySQL数据库。RHEL5也自带了MySQL服务。对于已经安装了MySQL的RHEL5可以执行以下命令查看:
#rpm -qa | grep mysql
与MySQL相关的软件包
mysql-
mysql-connector-odbc-
MySQL-python-
mysql-server-
libdbi-dbd-mysql-
perl-DBD-MySQL-3.0007-1.fc6.i386.rpm(第二盘光张)
freeradius-mysql-
mysql-devel-
mod_auth_mysql-
mysql-test-
mysql-bench-
php-mysql-
qt-MySQL-
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-
#rpm -ivh mysql-server-
安装完成后,在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-
检查是否存在mysql用户可用如下命令:
#grep "^mysql: " /etc/passwd -i
如果没有,则需要创建该用户:
#useradd mysql /opt/mysql
安装源文件:
#rpm -ivh MySQL-community-
在/usr/src/redhat/SOURCES/目录中,找到mysql-
#tar -zxvf mysql-
解开该压缩包,生成mysql-
包含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 密码字符串
例如:将MySQL的root用户密码由原来设置的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文件,则试图查找MySQL的var安装路径/my.cnf,即/var/lib/mysql/,如果存在,则采用其配置信息;
若没有发现MySQL的var安装路径/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 |
输出服务器版本 |