1、CENTOS 52 X64下MySQL安装Windows下MySQL安装迁移部署主从互备双机高可用性集群unv120620MySQL安装配置、迁移部署、主从互备、双机高可用性集群 CENTOS 5.2 X64下MySQL安装、迁移部署、双机热备2010年9月3日星期五一、 模拟安装环境虚拟机Virtual Machine 6.0操作系统:CentOS release 5.2 (Final)MySQL RPM安装包: MySQL-client-community-5.1.50-1.rhel4.x86_64.rpm MySQL-client-community-5.1.50-1.rhel4.x86
2、_64.rpm源码编译安装包:MySQL-5.1.34.tar.gz备注: MySQL安装可能需要一些必备组件,具体组件未详究。解决方法,1、可以将服务器连接互联网安装过程中会自动下载所需组件;2、将系统安装DVD盘放于光驱中,安装过程中会自动去光盘加载需要的组件进行安装。二、 MySQL RPM包安装方式2.1、上传RPM包至/root目录roottest # lsMySQL-client-community-5.1.50-1.rhel4.x86_64.rpmMySQL-server-community-5.1.50-1.rhel5.x86_64.rpm2.2、安装MySQL服务器端root
3、test # rpm -ivh MySQL-server-community-5.1.50-1.rhel5.x86_64.rpm Preparing. # 100%1:MySQL-server-community # 100%PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !To do so, start the server, then issue the following commands:/usr/bin/mysqladmin -u root password new-password/usr/bin/mysqladm
4、in -u root -h test password new-passwordAlternatively you can run:/usr/bin/mysql_secure_installationwhich will also give you the option of removing the testdatabases and anonymous user created by default. This isstrongly recommended for production servers.See the manual for more instructions.Please
5、report any problems with the /usr/bin/mysqlbug script!2.3、安装MySQL客户端roottest # rpm -ivh MySQL-client-community-5.1.50-1.rhel4.x86_64.rpm Preparing. # 100%1:MySQL-client-community # 100% 2.4、测试MySQL数据库 启动MySQL数据库,命令:service mysql startMySQL数据库服务器端安装完成即可测试mysql数据是否安装成功,最简单的测试方法为:在windows下运行telnet访问mys
6、ql所在服务器的3306端口(或mysql服务器上netstat nat查看监听端口),若访问成功,则表明MySQL服务器端成功安装。如: 2.5、初始化MySQL数据库 设置mysql数据库访问密码: roottest bin#cd /usr/bin/roottest bin# mysqladmin -u root -p -h 192.168.0.251 password cnEnter password: (因为数据库刚安装好密码为空,在上边提示输入密码的地方直接回车即可)。 测试mysql数据库密码设置: roottest bin# mysql -u root -p -h 192.168
7、.0.251Enter password: 输入数据库密码cnWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 42Server version: 5.1.50-community MySQL Community Server (GPL)Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.This software comes with ABSOLUTELY NO WARRANTY
8、. This is free software,and you are welcome to modify and redistribute it under the GPL v2 licenseType help; or h for help. Type c to clear the current input statement.mysql mysql show databases;+-+| Database |+-+| information_schema | mysql | test | webaudit |+-+4 rows in set (0.01 sec) 修改MySQL权限使数
9、据库可以远程访问:mysql GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIED BY cn WITH GRANT OPTION;Query OK, 0 rows affected (0.01 sec)mysql FLUSH PRIVILEGES;Query OK, 0 rows affected (0.01 sec) 清楚Mysql空密码数据库账户:roottest # mysql -u root -p -h 192.168.0.251Enter password: Welcome to the MySQL monitor. Commands en
10、d with ; or g. .mysql use mysql;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with Database changedmysql show tables;mysql delete from user where password=;Query OK, 4 rows affected (0.00 sec)mysql Ctrl-C - exit! Bye 使用Navica
11、t测试MySQL远程连接: 打开Navicat工具,添加新的mysql连接: 右键MySQL链接名,选择【打开链接】,入远程访问成功,则出现如下数据库列表。 这样可在此工具中mysql数据库进行管理、备份等所以操作。稍后MySQL迁移手册所有操作就是通过该工具或SQLyog工具远程连接MySQL数据库进行操作完成的。三、 MySQL源码编译安装方式详见附件MySQL源代码编译安装.docx四、 MySQL常用命令MySQL启动:service mysql startMySQL停止:service mysql stopMySQL重启:service mysql restart显示数据库:mysq
12、lshowdatabases;显示数据库中表:mysqlusemysql;mysqlshowtables;显示数据表的结构:mysql describe表名;建库:mysql createdatabase库名;建表:mysql use库名; mysql createtable表名(字段设定列表); 五、 MySQL迁移部署手册建议: 在数据迁移部署前,特别是远程服务器前一部署,建议先清除原数据库中非必须数据。MySQL数据库数据迁移主要2种方式:A、 迁移到原MySQL数据库同局域网的目标MySQL数据库,最简单的方式我们可以通过MySQL连接工具的数据同步工具实现。Navicat for M
13、ySQL工具【数据同步】,步骤不详述。SQLyog-MySQL GUI工具【数据库同步向导】,步骤不详述。 B、迁移到原MySQL数据库非同一局域网的MySQL目标数据库,我们采用将原MySQL数据库备份成*.sql脚本,再在目标MySQL数据库导入*.sql脚本的方式进行迁移部署;下边详述该迁移方式。5.1、MySQL数据库连接 打开Navicat for MySQL,单击【连接】工具,在弹出的窗口中依次输入数据库链接名如orcl_191.168.0.191,IP、端口、账户、密码,然后点击【确定】。 此时,在窗口左边会出现数据库连接项orcl_192.168.0.191,点击orcl_19
14、2.168.0.191则弹出数据库实例列表。现在 5.2、MySQL数据库备份 联通集团WAP系统需要用到数据库webaudit、newaudit(MMS)、idcconfig(探针),所以做迁移部署的时候需要对这三个数据库中的对象做完整迁移。这里以迁移数据库webaudit为例进行演示。现在Navicat for MySQL已连接到公司测试环境mysql数据库192.168.0.191。如下所示选中webaudit数据库,双击鼠标左键展开webaudit,选中【备份】项单击鼠标右键, 弹出【新建备份】窗口 在【新建备份】窗口中,【常规】项下可输入此次备份的注释,在【对象选择】项中,可以选择需
15、要备份数据库的那些对象,因为是数据库完整迁移,所以这里我们单击【全选】按钮选中webaudit的所有对象。单击【开始】按钮进行数据库备份。备份完毕单击【关闭】按钮离开备份窗口 5.3、提取SQL脚本Webaudit数据库完整备份成功结束后,将在【备份】功能生产一条备份记录,如:2010-09-03 11:34:47选中该备份记录【2010-09-03 11:34:47】,单击鼠标右键,选择【提取 SQL】按钮,弹出【2010-09-03 11:34:47 提取 SQL窗口】在【2010-09-03 11:34:47 提取 SQL】窗口中,【常规】项显示备份数据的信息,在【对象选择】项中,我们选
16、择【全选】,在【高级】项中,我们采用默认选项,勾选全部对象,之后单击【开始】按钮,系统将提示保存sql脚本,我们可以将该脚本保存在任意地方,并命名sql脚本名,然后点击【保存】开始提取SQL。提取成功完成单击【关闭】按钮。此时可以在上一步操作设置保存sql脚本的地方找到提取到的192.168.0.191_webaudit.sql文件,该脚本部分内容如下:5.4、MySQL数据库还原部署4.1-4.3小节对webaudit进行了备份并成功提取webaudit创举脚本192.168.0.191_webaudit.sql。现在使用Navicat for MySQL连接到我们在2.1-2.5小节新建的
17、数据库mysql数据库192.168.0.251上。新建连接的方法之前已描述,现在我们已经连接到新建mysql数据库服务器192.168.0.251,mysql数据库安装后将默认创建3个初始数据库,如下:首先,在新数据库中新建一个数据库webaudit实例。选择【orcl_192.168.0.251】连接名,单击鼠标右键,选择【新建数据库】。在弹出的【创建新数据库】窗口,输入数据库名:webaudit,选择字符集:utf8 - UTF-8 Unicode,选择校对:utf8_general_ci。然后单击确定完成数据实例webaudit创建。此时,我们已经可以在连接工具中看到【orcl_192
18、.168.0.251】连接下新增了一个webaudit数据库。只是该webaudit暂时还没有任何对象。执行webaudit对象创建脚本192.168.0.191_webaudit.sql。选择【webaudit】数据库,单击鼠标右键选择【执行 SQL 文件】,弹出【运行 SQL 文件】窗口,在文件浏览框中找到之前从192.168.0.191数据库中提取出的sql脚本192.168.0.191_webaudit.sql,选择编码类型:65001 (UTF-8),然后点击【开始】按钮,开始执行sql脚本。脚本执行完毕,将在【讯息日志】窗口列出执行日志记录。无误则点击【关闭】按钮。此时,我们只需对
19、orcl_192.168.0.251做一次重新连接,即可发现192.168.0.251新建数据库webaudit中对象已经被创建成功,且和192.168.0.191源数据库webaudit对象、数据完全一致。至此,webaudit数据库从192.168.0.191测试数据库完整迁移部署至192.168.0.251新数据库操作成功完成。备注:测试数据库中其他数据库实例如newaudit、idcconfig、snapaudit等迁移部署参照webaudit数据库迁移部署方法即可。六、 MySQL数据库双机热备详见附件MySQL双机热备实施方案.docx七、 MySQL常见故障6.1、ERROR 1
20、045 (28000): Access denied for user youzhelocalhost (using password: YES)故障原因:用户访问权限不够解决方法:root登录MySQL数据库指向以下命令mysql grant all on *.* to youzhe% identified by 密码;Query OK, 0 rows affected (0.04 sec)mysql flush privileges;Query OK, 0 rows affected (0.03 sec)rootopenfire pdf_spider# mysql u youzhe p 密码 h 192.168.0.251 Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 4593Server version: 5.0.45-log MySQL Community Server (GPL)Type help; or h for help. Type c to clear the buffer.mysql