Mysql安装和维护手册.docx
- 文档编号:4793779
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:18
- 大小:75.24KB
Mysql安装和维护手册.docx
《Mysql安装和维护手册.docx》由会员分享,可在线阅读,更多相关《Mysql安装和维护手册.docx(18页珍藏版)》请在冰点文库上搜索。
Mysql安装和维护手册
Mysql安装和维护手册
1.在Linux下安装Mysql
1.1RPM安装MySQL
建议在Linux中使用RPM包来安装MySQL。
MySQLRPM目前已经嵌入到SuSELinux7.3系统中,但是应当能在大多数支持rpm和使用glibc的Linux版本中工作。
MySQLAB不提供与具体平台相关的RPM;具体平台相关的RPM和通用RPM之间的区别是具体平台相关RPM为目标平台而构建,为动态连接。
而通用RPM与Linux线程之间是静态连接。
注释:
通常由其它供应商提供MySQL的RPM分发版。
其特征和功能与MySQLAB所构建的不同,该手册中的指令不一定适合安装其它供应商提供的MySQL的RPM分发版。
此时应咨询供应商的说明。
在大多数情况,你只需要安装MySQL-server和MySQL-client软件包来安装MySQL。
在标准安装中不需要其它的包。
如果安装MySQL软件包时出现从属错误(例如,“error:
removingthesepackageswouldbreakdependencies:
libmysqlclient.so.10isneededby..”),你还应当安装包MySQL-shared-compat,其中包括两个向后兼容的共享库(MySQL4.0为libmysqlclient.so.12,MySQL3.23为libmysqlclient.so.10)。
可以使用以下RPM包:
·MySQL-server-VERSION.glibc23.i386.rpm
MySQL服务器。
你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
注释:
在MySQL4.0.10之前,服务器RPM文件被称为MySQL-VERSION.i386.rpm。
也就是说,名称中不含有-server。
·MySQL-client-VERSION.glibc23.i386.rpm
标准MySQL客户端程序。
你可能总是要安装该软件包。
·MySQL-devel-VERSION.glibc23.i386.rpm
库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要。
·MySQL-shared-VERSION.glibc23.i386.rpm
该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
·MySQL-shared-compat-VERSION.glibc23.i386.rpm
该软件包包括MySQL3.23和MySQL4.0的共享库。
如果你安装了应用程序动态连接MySQL3.23,但是你想要升级到MySQL4.0而不想打破库的从属关系,则安装该软件包而不要安装MySQL-shared。
从MySQL4.0.13起包含该安装软件包。
·MySQL-embedded-VERSION.glibc23.i386.rpm
嵌入式MySQL服务器库(从MySQL4.0起)。
·MySQL-VERSION.glibc23.i386.rpm
包含以前所有软件包的源码。
可用来在其它架构上重建RPM(例如,Alpha或SPARC)。
要想看到RPM软件包内的所有文件(例如,MySQL-serverRPM),运行:
shell>rpm-qplMySQL-server-VERSION.i386.rpm
要想执行标准最小安装,运行:
shell>rpm-iMySQL-server-VERSION.i386.rpm
shell>rpm-iMySQL-client-VERSION.i386.rpm
要想只安装客户端软件包,运行:
shell>rpm-iMySQL-client-VERSION.i386.rpm
RPM提供在安装软件包前验证其完整性和真实性的功能。
服务器RPM将数据放入/var/lib/mysql目录。
RPM还为mysql用户创建登录账户(如果还没有),用来运行MySQL服务器,并在/etc/init.d/创建相应条目,以便在引导时自动启动服务器。
(这意味着如果你已经安装并且已经更改启动脚本,你可能要复制脚本,以便你安装新RPM时不会丢掉脚本)。
如果想要在旧的不支持/etc/init.d(直接或通过符号连接)初始化脚本的Linux分发版中安装MySQLRPM,你应当创建一个指向初始化脚本实际安装的位置的符号连接。
例如,如果安装位置为/etc/rc.d/init.d,安装RPM前使用这些命令创建/etc/init.d,作为指向该位置的符号连接:
shell>cd/etc
shell>ln-src.d/init.d。
目前主要Linux分发版应当支持使用/etc/init.d的新目录布局,因为需要LSB(Linux标准基)兼容性。
如果你安装的RPM文件包括MySQL-server,安装后MySQLd服务器应当能启动并运行。
你应当能使用MySQL启动。
注释:
MySQL授权表中的账户开始没有密码。
1.2源码安装mysql
本节介绍在各种平台上安装tar压缩文件格式的MySQL二进制分发版(文件有.tar.gz扩展名)。
MySQLtar文件二进制分发版的文件名格式为mysql-VERSION-OS.tar.gz,其中VERSION是版本号(例如,5.1.2-alpha),OS表示分发版安装的操作系统类型(例如,pc-linux-i686)。
你需要下面的工具来安装MySQLtar文件二进制分发版:
·GNUgunzip解压缩分发版。
·一个适当的tar解包分发版。
GNUtar已知可以。
一些操作系统中含有预安装的tar,已知有问题。
例如,已知MacOSXtar和Suntar对于长文件名有问题。
在MacOSX中,你可以使用预安装的gnutar程序。
在其它系统中若tar不完善,你应当首先安装GNUtar。
·cmakeNoversionlimit
·libtool1.5
·GNUmake3.79
·bison1.75
·gcc2.95
必须执行以便安装并使用MySQL二进制分发版的基本命令是:
Linux系统的Root用户安装:
#Preconfigurationsetup
shell>groupaddmysql
shell>useradd-r-gmysqlmysql
#Beginningofsource-buildspecificinstructions
shell>tarzxvfmysql-5.5.15.tar.gz
shell>cdmysql-5.5.15
shell>cmake.
shell>make
shell>makeinstall
#Endofsource-buildspecificinstructions
#Postinstallationsetup
shell>cd/usr/local/mysql
shell>chown-Rmysql.
shell>chgrp-Rmysql.
shell>scripts/mysql_install_db--user=mysql
shell>chown-Rroot.
shell>chown-Rmysqldata
#Nextcommandisoptional
shell>cpsupport-/etc/f
shell>bin/mysqld_safe--user=mysql启动mysql
#Nextcommandisoptional,可选命令
shell>cpsupport-/etc/init.d/mysql.server
Linux系统的普通用户Mysql用户安装:
#Beginningofsource-buildspecificinstructions
shell>tarzxvfmysql-5.5.15.tar.gz
shell>cdmysql-5.5.15
shell>cmake-DCMAKE_INSTALL_PREFIX=/dir.
shell>make
shell>makeinstall
#Endofsource-buildspecificinstructions
#Postinstallationsetup
shell>cd/dir
shell>scripts/mysql_install_db--user=mysql
#Nextcommandisoptional
shell>cpsupport-/dir/etc/f
shell>bin/mysqld_safe--user=mysql启动mysql
下面为安装二进制分发版的更详细的描述:
1.为mysqld增加一个登录用户和组:
2.shell>groupaddmysql
3.shell>useradd-gmysqlmysql
4.Shell>tarzxvfmysq-l5.5.15.tar.gz
5.进入安装目录:
shell>cdmysql-5.5.15
6.编译安装mysql:
shell>cmake.
shell>make
shell>makeinstall
Mysql编译参数指定示例:
cmake-DCMAKE_INSTALL_PREFIX=/home/kmsdb1/iddbs/mysql\
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock\
-DDEFAULT_CHARSET=utf8\
-DDEFAULT_COLLATION=utf8_general_ci\
-DWITH_EXTRA_CHARSETS:
STRING=utf8,gbk\
-DWITH_MYISAM_STORAGE_ENGINE=1\
-DWITH_INNOBASE_STORAGE_ENGINE=1\
-DWITH_MEMORY_STORAGE_ENGINE=1\
-DWITH_READLINE=1\
-DENABLED_LOCAL_INFILE=1\
-DMYSQL_DATADIR=/home/kmsdb1/iddbs/mysql1/data\
-DMYSQL_USER=kmsdb1
7.初始化mysql:
shell>scripts/mysql_install_db--user=mysql
初始化示例:
/home/kmsdb1/iddbs/mysql1/scripts/mysql_install_db--user=kmsdb1--defaults---basedir=/home/kmsdb1/iddbs/mysql1--datadir=/home/kmsdb1/iddbs/mysql1/data--user=kmsdb1
8.将程序二进制的所有权改为root,数据目录的所有权改为运行mysqld的用户。
如果位于安装目录(/usr/local/mysql)下,命令应为:
shell>chown-Rroot.
shell>chown-Rmysqldata
shell>chgrp-Rmysql.
第一个命令将文件的所有属性改为root用户。
第二个命令将数据目录的所有属性改为mysql用户。
第三个命令将组属性改为mysql组。
8.如果你喜欢在引导机器时自动启动MySQL,可以拷贝support-文件到系统有启动文件的地方。
。
9.可以用下列命令启动MySQL服务器:
shell>bin/mysqld_safe--user=mysql&
注释:
MySQL授权表中的账户开始没有密码。
启动服务器后,应当设置密码。
1.3Mysql管理
启动Mysql:
/usr/local/mysql/bin/mysqld_safe--user=mysql&
登陆Mysql:
/usr/local/mysql/bin/mysql#使用默认用户登录
停止Mysql:
/usr/local/mysql/bin/mysqladminshutdown
连接命令(可选其一):
mysql-h134.64.114.242-P3306-umysql-pmysql
mysql-umysql-p-P3306-S/tmp/mysql3306.sock输入密码进入
2.Mysql的配置管理
Mysql的配置管理文件为/etc/f,配置文件设置了的mysql的配置管理参数。
如果需要对mysql进行配置管理,修改/etc/f文件然后重启mysql即可生效。
Mysql的配置参数共有321个,所有配置参数都有默认值,可以不在配置文件中配置。
将需要修改的配置参数配置在配置文件中即可。
Mysql配置文件模板示例:
#ThefollowingoptionswillbepassedtoallMySQLclients
[client]
#password=your_password
port=3306
socket=/tmp/mysql.sock
#Herefollowsentriesforsomespecificprograms
#TheMySQLserver
[mysqld]
port=3306
socket=/tmp/mysql.sock
skip-external-locking
key_buffer_size=384M
max_allowed_packet=1M
table_open_cache=512
sort_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=8M
myisam_sort_buffer_size=64M
thread_cache_size=8
query_cache_size=32M
#TrynumberofCPU's*2forthread_concurrency
thread_concurrency=8
#Don'tlistenonaTCP/IPportatall.Thiscanbeasecurityenhancement,
#ifallprocessesthatneedtoconnecttomysqldrunonthesamehost.
#AllinteractionwithmysqldmustbemadeviaUnixsocketsornamedpipes.
#NotethatusingthisoptionwithoutenablingnamedpipesonWindows
#(viathe"enable-named-pipe"option)willrendermysqlduseless!
#
#skip-networking
#ReplicationMasterServer(default)
#binaryloggingisrequiredforreplication
log-bin=mysql-bin
#requireduniqueidbetween1and2^32-1
#defaultsto1ifmaster-hostisnotset
#butwillnotfunctionasamasterifomitted
server-id=1
#ReplicationSlave(commentoutmastersectiontousethis)
#
#Toconfigurethishostasareplicationslave,youcanchoosebetween
#twomethods:
#
#1)UsetheCHANGEMASTERTOcommand(fullydescribedinourmanual)-
#thesyntaxis:
#
#CHANGEMASTERTOMASTER_HOST=
#MASTER_USER=
#
#whereyoureplace
#
#
#Example:
#
#CHANGEMASTERTOMASTER_HOST='125.564.12.1',MASTER_PORT=3306,
#MASTER_USER='joe',MASTER_PASSWORD='secret';
#
#OR
#
#2)Setthevariablesbelow.However,incaseyouchoosethismethod,then
#startreplicationforthefirsttime(evenunsuccessfully,forexample
#ifyoumistypedthepasswordinmaster-passwordandtheslavefailsto
#connect),theslavewillcreateamaster.infofile,andanylater
#changeinthisthevariables'valuesbelowwillbeignoredand
#overriddenbythecontentofthemaster.infofile,unlessyoushutdown
#theslaveserver,deletemaster.infoandrestarttheslaverserver.
#Forthatreason,youmaywanttoleavethelinesbelowuntouched
#(commented)andinsteaduseCHANGEMASTERTO(seeabove)
#
#requireduniqueidbetween2and2^32-1
#(anddifferentfromthemaster)
#defaultsto2ifmaster-hostisset
#butwillnotfunctionasaslaveifomitted
#server-id=2
#
#Thereplicationmasterforthisslave-required
#master-host=
#
#Theusernametheslavewilluseforauthenticationwhenconnecting
#tothemaster-required
#master-user=
#
#Thepasswordtheslavewillauthenticatewithwhenconnectingto
#themaster-required
#master-password=
#
#Theportthemasterislisteningon.
#optional-defaultsto3306
#master-port=
#
#binarylogging-notrequiredforslaves,butrecommended
#log-bin=mysql-bin
#
#binaryloggingformat-mixedrecommended
#binlog_format=mixed
#UncommentthefollowingifyouareusingInnoDBtables
#innodb_data_home_dir=/usr/local/mysql/data
#innodb_data_=ibdata1:
2000M;ibdata2:
10M:
autoextend
#innodb_log_group_home_dir=/usr/local/mysql/data
#Youcanset.._buffer_pool_sizeupto50-80%
#ofRAMbutbewareofsettingmemoryusagetoohigh
#innodb_buffer_pool_size=384M
#innodb_additional_mem_pool_size=20M
#Set.._log_to25%ofbufferpoolsize
#innodb_log_=100M
#innodb_log_buffer_size=8M
#innodb_flush_log_at_trx_commit=1
#innodb_lock_wait_timeout=50
[mysqldump]
quick
max_allowed_packet=16M
[mysql]
no-auto-rehash
#RemovethenextcommentcharacterifyouarenotfamiliarwithSQL
#safe-updates
[myisamchk]
key_buffer_size=256M
sort_buffer_size=256M
read_buffer=2M
write_buffer=2M
[mysqlhotcopy]
interactive-timeout
3.Mysql复制管理
MySQL支持异步复制、半同步复制。
复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。
主服务器将更新写入二进制日志文件,这些日志记录被发送到从服务器。
从服务器接收任何更新日志,然后重新执行这些更新日志。
这里有异步复制、半同步复制两种模式。
3.1现有分布式数据库架构
搭建环境中:
Mysqlmaster-1和Mysqlmaster-2互为主从同步
Mysqlmaster-3和Mysqlmaster-4互为主从同步
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Mysql 安装 维护 手册
![提示](https://static.bingdoc.com/images/bang_tan.gif)