下MySQL数据库服务器架设笔录_第1页
下MySQL数据库服务器架设笔录_第2页
下MySQL数据库服务器架设笔录_第3页
下MySQL数据库服务器架设笔录_第4页
下MySQL数据库服务器架设笔录_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux下MySQL数据库服务器架设笔录本文环境:CentOS+MySQLMySQL是目前最流行的开放源代码的关系数据库管理系统,是目前少有的开放源代码的数据库软件之一。开放源代码也就意味着任何人都能够使用和改变MySQL软件,任何人都能下载和使用此软件而无需支付任何费用。基于其快速、可靠、易用和免费等特点,MySQL数据库系统在Web应用以及其他各行各业中得到了非常广泛的应用。1、 MySQL数据库软件的安装和运行CentOS 5操作系统安装完成之后一般情况下没有默认安装MySQL数据库,可进入安装光盘的软件目录,找到如下几个文件:#Perl语言的数据API#MySQL数据库客户端程序#M

2、ySQL与Perl语言的接口程序包unixODBC-#Linux/Unix平台的ODBC程序mysql-connector-odbc-#MySQL数据库与ODBC的连接器#MySQL数据库服务器程序将上述文件拷贝到服务器合适位置,依次执行安装:rootwww1 MySQL_Install# rpm -ivh perl-DBI-1.52-2.el5.i386.rpm Preparing. # 100% 1:perl-DBI # 100%rootwww1 MySQL_Install# rpm -ivh mysql-5.0.77-3.el5.i386.rpm Preparing. # 100% 1:

3、mysql # 100%rootwww1 MySQL_Install# rpm -ivh perl-DBD-MySQL-3.0007-2.el5.i386.rpm Preparing. # 100% 1:perl-DBD-MySQL # 100%rootwww1 MySQL_Install# rpm -ivh unixODBC-7.1.i386.rpm Preparing. # 100% 1:unixODBC # 100%rootwww1 MySQL_Install# rpm -ivh mysql-connector-odbc-Preparing. # 100% 1:mysql-connect

4、or-odbc # 100%rootwww1 MySQL_Install# rpm -ivh mysql-server-5.0.77-3.el5.i386.rpm Preparing. # 100% 1:mysql-server # 100%也可以在联网状态下使用在线包管理工具yum进行安装:rootwww1 MySQL_Install# yum -y install mysql安装完MySQL之后可以输入以下命令启动数据库:rootwww1 MySQL_Install# /etc/init.d/mysqld start查看启动状态:rootwww1 MySQL_Install# ps -ea

5、f|grep mysqldroot 2842 1 0 09:43 pts/1 00:00:00 /bin/sh /usr/bin/mysqld_safe -datadir=/var/lib/mysql -socket=/var/lib/mysql/mysql.sock -log-error=/var/log/mysqld.log -pid-file=/var/run/mysqld/mysqld.pid -user=mysqlmysql 2892 2842 0 09:43 pts/1 00:00:00 /usr/libexec/mysqld -basedir=/usr -datadir=/var

6、/lib/mysql -user=mysql -pid-file=/var/run/mysqld/mysqld.pid -skip-external-locking -socket=/var/lib/mysql/mysql.sockroot 2911 2576 0 09:44 pts/1 00:00:00 grep mysqld可以看到服务器启动了2个进程,其中/usr/bin/mysqld_safe是一个脚本程序,由root用户运行,它的作用是启动数据库服务进程mysqld,并一直监控其运行状态,如果发现mysqld进程死了,就会重新启动它。而数据库服务进程mysqld则有mysql用户运行

7、,用以提供数据库服务。默认情况下mysql的监听端口是3306,可以查看一下端口状态:rootwww1 MySQL_Install# netstat -anlp |grep :3306tcp 00 .0:3306 .0:* LISTEN 2892/mysqld还可使用以下命令查看MySQL的运行状态:rootwww1 MySQL_Install# mysqladmin versionmysqladmin Ver 8.41 Distrib 5.0.77, for redhat-linux-gnu on i686Copyright (C) 2000-2006 MySQLABThis softwar

8、e comes with ABSOLUTELY NO WARRANTY. This is free software,and you are welcome to modify and redistribute it under the GPL licenseProtocol version 10Connection Localhost via UNIX socketUNIX socket /var/lib/mysql/mysql.sockUptime: 7 min 1 secThreads: 1 Questions: 2 Slow queries: 0 Opens: 12 Flush tab

9、les: 1 Open tables: 6 Queries per second avg: 0.0052、 使用命令行客户端登录MySQL数据库最常用的MySQL客户端是mysql命令,其格式如下:Mysql -h <主机名> -u <用户名> -p 数据库名其中:-u <用户名>表示使用指定的用户名登录,默认为root用户(注:此root用户不等同于操作系统的root用户)-p表示登录时需要输入密码数据库名表示登录后要使用哪一个数据库。下面为客户端登录的演示:rootwww1 MySQL_Install# mysql#连接本地MySQL数据库Welcome

10、 to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 3Server version: 5.0.77 Source distributionType 'help;' or 'h' for help. Type 'c' to clear the buffer.mysql> use mysql#使用mysql数据库Reading table information for completion of table and column namesYo

11、u can turn off this feature to get a quicker startup with -ADatabase changed#修改root用户的密码mysql> update user set password=password('123456') where user='root'Query OK, 3 rows affected (0.00 sec)Rows matched: 3 Changed: 3 Warnings: 0#在用户表新增一条user记录,即增加一个用户usermysql> insert into us

12、er(host,user,password) values("%","user",password("123456");Query OK, 1 row affected, 3 warnings (0.00 sec)mysql> flush privileges;#刷新MySQL的系统权限相关表Query OK, 0 rows affected (0.01 sec)MySQL服务器安装完成后,会首先创建一个名为mysql的数据库,里面包含了MySQL数据库系统的所有系统信息。以上操作中,user表即为用户存放表,增加一条新记录即增

13、加一个新用户,改变password字段的值即为修改密码。每一个用户记录都有一个host字段,表示允许该用户从哪一台主机登录,“%”表示可以从所有客户机进行远程登录,但不能从本机登录。localhost表示只能从本机登录。或者可以指定主机名实现从特定主机登录。如需指定可从多台主机登录,则可增加多条记录到user表,例如root用户的记录:mysql> select t.host,t.user,t.password from user t where t.user='root'+-+-+-+| host | user | password |+-+-+-+| localhos

14、t | root | 565491d704013245 | | | root | 565491d704013245 | | | root | 565491d704013245 | +-+-+-+3 rows in set (0.00 sec)如上结果显示root用户可从localhost、和登录,其实指的都是本机。3、 图形界面的MySQL客户端MySQL的客户端有许多种,其中有许多优秀的图形界面客户端,可以大大的方便对数据库的操作和管理,这里使用官方版本的图形管理工具MySQL Query Browser。MySQL Query Browser是MySQ

15、L官方推荐的图形管理工具,支持各种平台,可从网站下载对应平台的软件,安装好初次运行时需要建立一个命名的数据库连接,如下图所示:由于刚才的配置,root用户是不能从客户端远程登录的,为了管理方面,在本机的客户端中修改root用户可从客户端远程登录:mysql> update user t set t.host=% where t.host= and t.user=root;Query OK, 3 rows affected (0.00 sec)Rows matched: 3 Changed: 3 Warnings: 0修改后重启数据库:rootwww1 dx# /etc/init.d/my

16、sqld restart停止 MySQL: 确定启动 MySQL: 确定此时点击上图中的OK按钮即可连接进入数据库,其余操作略。除此之外,通过选择Tools|MySQL Administrator或从开始菜单可以打开MySQL的管理工具MySQL Administrator,该工具主要是对MySQL进行用户管理,性能监控,日志管理,数据库备份与回复以及数据库同步等操作,是一个非常实用的工具。4、 MySQL服务器的配置与连接MySQL服务器安装完之后,其默认的配置已经可以使其正常运行,但初始的配置不一定能让服务器运行在最佳的或最合适的状态,此时我们就要对服务器进行配置,以使其达到最佳配置状态。

17、MySQL服务器默认的配置文件是/etc目录下的my.conf文件,这个文件在服务器安装时就会创建,但里面的配置指令很少,只用于初步学习时使用。与这个文件同时被创建的还有另外5个例子配置文件,存放于/usr/share/doc/mysql-server-5.0.77目录下。这5个配置文件的名称和配置目标如下:my-f :为运行在小内存主机(<=64M)上的数据库而设计的,常见情况是MySQL进程占用资源少,数据库只是偶尔被使用。my-f:是为在运行中占用小内存的情况(占用32M-64M)而设计的,其常见情况通常是MySQL服务器与其他应用服务器一起存在于一台主机上,并且此时的MySQL起

18、到较大的作用,使用的较为频繁。通常要求主机拥有128M内存以上。my-f :为一般数据库而设计,内存使用一般会达到512M或以上,通常要求主机拥有超过1GB的内存,适用于大多数的情况。my-f :为企业应用的MySQL数据库而设计,占用超过1GB的系统内存,同时对主机性能有更高要求。my-innodb-heavy-4G.cnf :为使用InnoDB引擎的MySQL数据库而设计的,应当运行在拥有超过4GB内存的专用主机上,通常的使用情况是数据库连接比较多,且查询非常复杂。以上配置文件中的指令种类相差不大,主要区别在于参数的设置不同。依现在的硬件水平,通常配置的内存都达到数个GB以上,通常情况下适

19、用于my-f文件的配置,因此我们看下这个文件的内容:dxwww1 mysql-server-5.0.77$ cat my-f # Example MySQL config file for large systems.# This is for a large system with memory = 512M where the system runs mainly# MySQL.# You can copy this file to# /etc/f to set global options,# mysql-data-dir/f to set server-specific options

20、 (in this# installation this directory is /var/lib/mysql) or# /f to set user-specific options.# In this file, you can use all long options that a program supports.# If you want to know which options a program supports, run the program# with the "-help" option.# The following options will b

21、e passed to all MySQL clients client#客户端相关配置#password = your_password#提供默认的用户密码port = 3306#客户端连接服务器时,使用默认的3306端口#为MySQL客户端指定一个与服务器通信的本地套接字文件socket = /var/lib/mysql/mysql.sock# Here follows entries for some specific programs# The MySQL servermysqld#服务器相关配置port = 3306 #服务器监听端口号socket = /var/lib/mysql/

22、mysql.sock#为MySQL服务器指定一个与客户端通信的本地套接字文件skip-locking#避免外部数据锁key_buffer = 256M #设置存放索引区块的内存值max_allowed_packet = 1M#设定系统最大缓冲区大小table_cache = 256 #设定表数据高速缓存的大小sort_buffer_size = 1M#设定排序高速缓存的大小read_buffer_size = 1M #设定读操作(顺序读取)缓存的大小read_rnd_buffer_size = 4M#设定读操作(特定次序读取)缓存的大小myisam_sort_buffer_size = 64M

23、#创建或修复表时,分配给ISAM索引排序的缓冲区大小。thread_cache_size = 8 #分配给线程的缓冲区大小query_cache_size= 16M#提交查询操作时缓冲区大小# Try number of CPU's*2 for thread_concurrencythread_concurrency = 8#多个CPU的线程数# Don't listen on a TCP/IP port at all. This can be a security enhancement,# if all processes that need to connect to m

24、ysqld run on the same host.# All interaction with mysqld must be made via Unix sockets or named pipes.# Note that using this option without enabling named pipes on Windows# (via the "enable-named-pipe" option) will render mysqld useless!# #skip-networking# Disable Federated by defaultskip-

25、federated# Replication Master Server (default)# binary logging is required for replicationlog-bin=mysql-bin# required unique id between 1 and 232 - 1# defaults to 1 if master-host is not set# but will not function as a master if omittedserver-id = 1#设置服务器的ID号,在设置主/从数据库时需要# Replication Slave (comment

26、 out master section to use this)# To configure this host as a replication slave, you can choose between# two methods :# 1) Use the CHANGE MASTER TO command (fully described in our manual) -# the syntax is:# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,# MASTER_USER=<user>

27、;, MASTER_PASSWORD=<password> ;# where you replace <host>, <user>, <password> by quoted strings and# <port> by the master's port number (3306 by default).# Example:# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,# MASTER_USER='joe', M

28、ASTER_PASSWORD='secret'# OR# 2) Set the variables below. However, in case you choose this method, then# start replication for the first time (even unsuccessfully, for example# if you mistyped the password in master-password and the slave fails to# connect), the slave will create a master.inf

29、o file, and any later# change in this file to the variables' values below will be ignored and# overridden by the content of the file, unless you shutdown# the slave server, delete and restart the slaver server.# For that reason, you may want to leave the lines below untou

30、ched# (commented) and instead use CHANGE MASTER TO (see above)# required unique id between 2 and 232 - 1# (and different from the master)# defaults to 2 if master-host is set# but will not function as a slave if omitted#server-id = 2# The replication master for this slave - required#master-host = &l

31、t;hostname># The username the slave will use for authentication when connecting# to the master - required#master-user = <username># The password the slave will authenticate with when connecting to# the master - required#master-password = <password># The port the master is listening on

32、.# optional - defaults to 3306#master-port = <port># binary logging - not required for slaves, but recommended#log-bin=mysql-bin# Point the following paths to different dedicated disks#tmpdir = /tmp/#log-update = /path-to-dedicated-directory/hostname# Uncomment the following if you are using B

33、DB tables#bdb_cache_size = 64M#bdb_max_lock = 100000# Uncomment the following if you are using InnoDB tables#innodb_data_home_dir = /var/lib/mysql/#innodb_data_file_path = ibdata1:10M:autoextend#innodb_log_group_home_dir = /var/lib/mysql/#innodb_log_arch_dir = /var/lib/mysql/# You can set ._buffer_p

34、ool_size up to 50 - 80 %# of RAM but beware of setting memory usage too high#innodb_buffer_pool_size = 256M#innodb_additional_mem_pool_size = 20M# Set ._log_file_size to 25 % of buffer pool size#innodb_log_file_size = 64M#innodb_log_buffer_size = 8M#innodb_flush_log_at_trx_commit = 1#innodb_lock_wai

35、t_timeout = 50mysqldump#用户使用mysqldump工具在不同SQL数据库之间传输数据时的配置quick #表示支持较大数据库的转储max_allowed_packet = 16M#置用来传输数据库表到其他数据库的最大允许包的大小mysql#指定启动MySQL服务器的配置no-auto-rehash#快速启动数据库# Remove the next comment character if you are not familiar with SQL#safe-updates#如果用户对SQL不熟悉,可以启用安全更新功能isamchk #使用isamchk工具修复isam类

36、型表时采用的配置key_buffer = 128Msort_buffer_size = 128Mread_buffer = 2Mwrite_buffer = 2Mmyisamchk#使用isamchk工具修复myisam类型表时采用的配置key_buffer = 128Msort_buffer_size = 128Mread_buffer = 2Mwrite_buffer = 2Mmysqlhotcopy#使用mysqlhotcopy热备工具时采用的配置interactive-timeout#数据库热备份期间将挂起数据库连接,该指令设置最大的超时时间,默认为28800秒一般而言,这5个配置文件

37、都是比较成熟的有针对性的设计,用户在配置MySQL服务器时可根据实际的服务器需求情况挑选其中一个配置文件,将其复制到/etc目录覆盖原f文件即可,此时该文件是对全局数据库起作用的。也可以将其复制到MySQL服务器数据库文件的存储目录,如默认创建的mysql数据库的文件存储目录/var/lib/mysql,并改名为f,则此时将只对mysql这个数据库起作用。还可以将其复制到某一个用户的个人目录下并改名为“f”,则此配置只对该用户起作用。5、 mysqld进程配置MySQL服务器可以,启用多个mysqld进程。在/etc/f配置文件中,mysqld配置段指定了mysqld进程的配置信息,如果有多个

38、进程,则可以使用mysqld1、mysqld2为起始标志对其他进程进行配置,以调整不同进程的配置差异。下面给出一些mysqld进程的相关配置选项:选项名称功能说明Basedir=path指定MySQL的安装目录路径Bind-address=IP指定与主机的哪个网络接口绑定,默认绑定全部网络接口Console除了写入日之外,还将错误消息写入stderr及stdoutCharacter-sets-dir=path字符集安装的目录路径Chroot=path将某一目了设定为MySQL的根目录Character-sets-server=charset指定数据库服务器的默认字符集Core-file如果my

39、sqld进程异常终止,要求把内核文件写入磁盘Datadir=path设置数据库文件的路径Default-time-zone=type设置服务器默认的时区Init-file=fileMysqld启动时从该文件读取sql语句并执行Log=file设置常规日志的存放位置和文件名。Log-bin=file设置二进制日志文件的文件名Log-bin-index=file设置二进制日志文件的索引文件名Log-error=file设置错误日志的文件名Log-slow-queries将所有执行时间超过long-query-time秒的查询计入该文件Pid-file=path进程ID文件的路径Port=port_

40、num监听TCP/IP连接时使用的端口号Server_id指定mysqld进程的一个编号,值为以1开始的整数Skip-bdb禁用BDB引擎,可以节省内存Tmpdir=path指定临时文件的路径User=user_name|user_id指定运行mysqld进程的操作系统用户在mysqld进程运行的过程中还可以通过命令来设置系统中使用的变量,包括两种,一种是全局变量,它影响服务器的全局操作。另一个是会话变量,它只影响与其连接的具体客户端的相关操作。服务器启动之后,可以通过连接服务器并执行以下命令来修改变量:SET GLOBAL 变量名=值 #修改全局变量SET SESSION 变量名=值 #修改会话变量任何访问全局变量的客户端都可以即时看见全局变量的改变,但修改会话变量则只能改变客户端自己的会话变量,而不能更改其他客户端的会话变量,下面是两个设置系统变量的例子:mysql> SET GLOBAL sort_buffer_size = 10M;mysql&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论