1、基本mysql安装
因为工作需要,今天在linux上安装了mysql,现在把大致的过程记录一下。
我用的mysql的版本的是:mysql-5.1.49-linux-i686-icc-glibc23.tar.gz
在官网上就可以下载到。
先期工作:建立mysql用户组,mysql用户,并且把mysql用户加入到mysql用户组中。
建立mysql用户组:groupadd mysql
建立mysql用户并加入mysql用户组:useradd mysql -g mysql -p mysql123456 -s /sbin/nologin -M
说明:-g 是加入到mysql用户组,-p是设置密码,-s是设置shell,这里设置的是不让其登录,-M就是不建立用户目录。
下面是安装mysql的步骤
1、把按照文件拷贝到:/usr/local,
用的命令是cp –rf mysql-5.1.49-linux-i686-icc-glibc23.tar.gz /usr/local/ ,
然后到目录/usr/local/下面解压缩文件:tar zxf mysql-5.1.49-linux-i686-icc-glibc23.tar.gz
2、创建软连接:ln -s mysql-5.0.51a-linux-i686-glibc23 /usr/local/mysql
ps:链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link),也称为软连接。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对软链接,则不存在这个问题。默认情况下,ln产生硬链接。 如果创建软链接需要参数 -s
3、到软连接mysql目录下,初始化mysql表格,安装 mysql 默认数据库:
cd /usr/local/mysql
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
完整安装参数可以参考下面这些
--prefix=/usr/local/mysql
--datadir=/usr/local/mysql/data
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
--with-mysqld-user=mysql
--sysconfdir=/usr/local/mysql/conf
--enable-local-infile
--enable-assembler
--enable-thread-safe-client
--with-charset=utf8
--with-extra-charsets=all
--with-pthread
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
控制台打印出:
Installing MySQL system tables...
OK
Filling help tables...
OK
.....
即说明安装成功。
4、修改目录权限,如下:
[root@localhost mysql]# cd /usr/local
[root@localhost local]# chgrp -R mysql mysql-5.0.51a-linux-i686-glibc23
[root@localhost local]# chgrp -R mysql mysql
[root@localhost local]# chown -R mysql mysql-5.0.51a-linux-i686-glibc23/data
[root@localhost local]# chown -R mysql mysql/data
5、启动mysql
到mysql录下:
[root@localhost mysql]# bin/mysqld_safe --user=mysql --socket=/tmp/mysql.sock --port=3306 &
这种启动方式,看不出启动效果,因为要继续输入命令查看是否启动成功的话,就会停止数据库。所以赶紧进行第6步
6、添加到系统自启动,如下:
[root@localhost local]# cp mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost local]# chkconfig --add mysqld
7、启动mysql服务进程,如下:
设置路径: ln -s /usr/local/mysql/bin/mysql /usr/bin
[root@localhost local]# /etc/init.d/mysqld start
启动完成赶紧查看mysql状态,命令: /etc/rc.d/init.d/mysqld status,看看m y s q l 是否已经启动.
还可以查看一下 3306 端口是否已经在监听:
netstat -anp|grep LISTEN
8、给mysql的 root 用户指定密码为"123456",host为localhost ,如下:
在目录 /user/local/mysql/下面
bin/mysqladmin --socket=/tmp/mysql.sock --port=3306 -u root -h localhost password '123456'
注意:确定你的mysql.sock是不是在/tmp/mysql.sock这里,
可以vi /etc/my.cnf 查看一下:
sorket=/var/lib/mysql/mysql.sock
这行就指定了mysql.sock的位置。
所以要修改命令为bin/mysqladmin --socket=/var/lib/mysql/mysql.sock --port=3306 -u root -h localhost password '123456'
ok,密码修改成功!
9、登陆
bin/mysql --port=3306 -u root -p -S /var/lib/mysql/mysql.sock
Enter password:
输入 123456
登陆成功!
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.51a MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
注意:如果登录失败,报如下错误的话:
Can't connect to local MySQL server through socket'=/var/lib/mysql/mysql.sock'
[root@localhost bin]#100810 22:43:43 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
可以在启动命令中加入 -h127.0.0.1,即:
bin/mysql -h127.0.0.1 --port=3306 -u root -p -S /var/lib/mysql/mysql.sock
10、关于chkconfig命令用法介绍
chkconfig(check config)
功能说明:检查,设置系统的各种服务。
语 法:chkconfig
[--add][--del][--list][系统服务]或chkconfig[--level<等级代号>][系统服务][on/off/reset]
补充说明:这是RedHat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。
参 数:
--add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
--del 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
--level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕
1):chkconfig 命令也可以用来激活和解除服务。chkconfig --list 命令显示系统服务列表,以及这些服务在运行级别0到6中已被启动(on)还是停止(off)。
chkconfig --list
chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2):chkconfig 还能用来设置某一服务在某一指定的运行级别内被启动还是被停运。譬如,要在运行级别3、4、5中停运 nscd 服务,使用下面的命令:
chkconfig --level 345 nscd off
3):由 xinetd 管理的服务会立即被 chkconfig 影响。譬如,如果 xinetd 在运行,finger 被禁用,那么执行了 chkconfig finger on 命令后,finger 就不必手工地重新启动 xinetd 来立即被启用。对其它服务的改变在使用 chkconfig 之后不会立即生效。必须使用service servicename start/stop/restart命令来重起服务
2、MASTER SLAVE 配置
mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。
详细出处参考:http://www.jb51.net/article/23843.htm
1。mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现mysql数据库的热备份。
2。要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备mysql的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。
3。设置主数据库服务器:
a.首先查看主服务器的版本是否是支持热备的版本。然后查看my.cnf(类unix)或者my.ini(windows)中mysqld配置块的配置有没有log-bin(记录数据库更改日志),因为mysql的复制机制是基于日志的复制机制,所以主服务器一定要支持更改日志才行。然后设置要写入日志的数据库或者不要写入日志的数据库。这样只有您感兴趣的数据库的更改才写入到数据库的日志中。
server-id=1 //数据库的id这个应该默认是1就不用改动
log-bin=log_name //日志文件的名称,这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称
binlog-do-db=db_name //记录日志的数据库
binlog-ignore-db=db_name //不记录日志的数据库
以上的如果有多个数据库用","分割开
然后设置同步数据库的用户帐号
mysql> GRANT REPLICATION SLAVE ON *.*
-> TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
4.0.2以前的版本, 因为不支持REPLICATION 要使用下面的语句来实现这个功能
mysql> GRANT FILE ON *.*
-> TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
设置好主服务器的配置文件后重新启动数据库
b.锁定现有的数据库并备份现在的数据
锁定数据库
mysql> FLUSH TABLES WITH READ LOCK;
备份数据库有两种办法一种是直接进入到mysql的data目录然后打包你需要备份数据库的文件夹,第二种是使用mysqldump的方式来备份数据库但是要加上"--master-data " 这个参数,建议使用第一种方法来备份数据库
c.查看主服务器的状态
mysql> show master status\G;
+---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| mysql-bin.003 | 73 | test | manual,mysql |
+---------------+----------+--------------+------------------+
记录File 和 Position 项目的值,以后要用的。
d.然后把数据库的锁定打开
mysql> UNLOCK TABLES;
4。设置从服务器
a.首先设置数据库的配置文件
server-id=n //设置数据库id默认主服务器是1可以随便设置但是如果有多台从服务器则不能重复。
master-host=db-master.mycompany.com //主服务器的IP地址或者域名
master-port=3306 //主数据库的端口号
master-user=pertinax //同步数据库的用户
master-password=freitag //同步数据库的密码
master-connect-retry=60 //如果从服务器发现主服务器断掉,重新连接的时间差
report-host=db-slave.mycompany.com //报告错误的服务器
b.把从主数据库服务器备份出来的数据库导入到从服务器中
c.然后启动从数据库服务器,如果启动的时候没有加上"--skip-slave-start"这个参数则进入到mysql中
mysql> slave stop; //停止slave的服务
d.设置主服务器的各种参数
mysql> CHANGE MASTER TO
-> MASTER_HOST='master_host_name', //主服务器的IP地址
-> MASTER_USER='replication_user_name', //同步数据库的用户
-> MASTER_PASSWORD='replication_password', //同步数据库的密码
-> MASTER_LOG_FILE='recorded_log_file_name', //主服务器二进制日志的文件名(前面要求记住的参数)
-> MASTER_LOG_POS=recorded_log_position; //日志文件的开始位置(前面要求记住的参数)
e.启动同步数据库的线程
mysql> slave start;
查看数据库的同步情况吧。如果能够成功同步那就恭喜了!
查看主从服务器的状态
mysql> SHOW PROCESSLIST\G //可以查看mysql的进程看看是否有监听的进程
如果日志太大清除日志的步骤如下
1.锁定主数据库
mysql> FLUSH TABLES WITH READ LOCK;
2.停掉从数据库的slave
mysql> slave stop;
3.查看主数据库的日志文件名和日志文件的position
show master status;
+---------------+----------+--------------+------------------+
| File | Position | Binlog_do_db | Binlog_ignore_db |
+---------------+----------+--------------+------------------+
| louis-bin.001 | 79 | | mysql |
+---------------+----------+--------------+------------------+
4.解开主数据库的锁
mysql> unlock tables;
5.更新从数据库中主数据库的信息
mysql> CHANGE MASTER TO
-> MASTER_HOST='master_host_name', //主服务器的IP地址
-> MASTER_USER='replication_user_name', //同步数据库的用户
-> MASTER_PASSWORD='replication_password', //同步数据库的密码
-> MASTER_LOG_FILE='recorded_log_file_name', //主服务器二进制日志的文件名(前面要求记住的参数)
-> MASTER_LOG_POS=recorded_log_position; //日志文件的开始位置(前面要求记住的参数)
6.启动从数据库的slave
mysql> slave start;
其他问题: 当在master中配置binlog-do-db或者binlog-ignore-db配置同步数据库名称时,多数据库同步会有问题,所以master中注释掉上面2项配置,直接在slave中增加replicate-ignore-db=mysql 即可。
This was a problem when I went to set up replication. After much research, I found the solution (works with 4 and up):
In your MASTER my.cnf file, DO NOT put any 'binlog-ignore-db' or 'do-db' options. Any db's you wish to not replicate will be handled in the slave conf file ..
In your SLAVE my.cnf file, use a 'replicate-ignore-db=<db>' for all the databases from the master you wish to stop from replicating to the slave.
For all the db's you DO wish to replicate, use a 'replicate-wild-do-table=<db>.%' line.
分享到:
相关推荐
Mysql 5.1.49 安装指南 本文档提供了 Mysql 5.1.49 的安装指南,涵盖卸载旧版 Mysql、安装新版 Mysql、配置 MySQL 服务器、初始化 Mysql 帐户和表等步骤。 一、卸载旧版 Mysql 在安装新版 Mysql 之前,需要卸载旧...
标题《CentOS5.5MySql5.1.49的安装、优化及安全设置.pdf》指向的内容涉及到了在CentOS 5.5操作系统上安装MySQL 5.1.49数据库服务器的过程,同时涉及到对其进行优化和安全设置的相关知识。根据给出的文件内容,我们...
这个驱动程序是一个Java Archive (JAR) 文件,名为`mysql-connector-java-5.1.49.jar`,它包含了所有必要的类和资源,使得Java开发者能够通过标准的Java Database Connectivity (JDBC) API与MySQL数据库进行交互。...
- 这个文件通常包含了关于如何安装、配置和使用MySQL 5.1.49的重要信息,包括系统需求、安装步骤、启动和停止服务的方法,以及可能遇到的问题和解决策略。 6. **安全性与权限管理**: - MySQL 5.1.49版本中,权限...
本文将详细介绍这一过程,包括从源码安装 MySQL 5.1.49、配置参数详解、常见问题解决办法以及安全设置等内容。 #### 二、下载与安装 ##### 1. 下载 MySQL 5.1.49 - **官方下载页面**: ...
内容概要:MySQL Connector/J 5.1.49 包括以下内容:1. Java 驱动程序,用于连接和与 MySQL 数据库交互。2. 提供了一个易于使用的 API,包括连接数据库、执行查询、处理结果集等功能。3. 支持 MySQL 协议,包括连接...
mysql57驱动jar包,jar包...mysql-connector-java是一款由mysql推出的官方驱动,它是java通过JDBC连接操作mysql的驱动,解压之后是jar包,需安装Java环境方可使用。需要mysql connector java的朋友们可以前来下载使用。
在SUSE Linux下安装MySQL 5.1.49是一个涉及多个步骤的详细过程,本文将根据提供的描述、标签和部分内容,深入解析如何在SUSE系统上安装并配置MySQL数据库服务器版本5.1.49。 ### 步骤一:检查系统是否已安装MySQL ...
4. **编译安装过程**: 解压`mysql-5.1.49.tar.gz`后,你需要遵循以下步骤来编译和安装MySQL: - 预处理:安装必要的依赖库,如ncurses、zlib、bzip2、openssl等。 - 配置:运行`./configure`命令,根据你的系统...
MySQL Connector/J 5.1.49支持多种数据库特性,包括预编译的SQL语句(PreparedStatement)、批处理、存储过程调用、事务管理和连接池集成。此外,它还提供了对JDBC 4.0规范的支持,包括自动类型检测和自动重连功能。...
本篇将详细介绍MySQL驱动5.1.44、5.1.49和8.0.27版本的主要特性和差异。 首先,我们来看MySQL驱动5.1系列。MySQL JDBC驱动5.1.44和5.1.49是早期的稳定版本,它们主要服务于MySQL 5.1数据库服务器。这两个版本提供了...
mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-...
在安装过程中,`mysql-essential-5.1.49-win32.msi`文件是MySQL 5.1.49 for Windows的操作系统安装程序。这个MSI文件包含了运行MySQL服务器、客户端工具和连接库所需的所有组件。通过运行这个安装程序,用户可以在...
"mysql-connector-java-5.1.49.rar"这个压缩包文件包含了用于连接MySQL 5.1.49版本的JDBC驱动,对于Java开发者来说,这是进行MySQL数据库操作的必备组件。 首先,让我们详细了解一下JDBC。JDBC是Java语言中用来规范...
MySQL是世界上最流行的开源关系型数据库管理系统之一,而`mysql-connector-java-5.1.49.tar.gz`是一个用于连接Java应用程序与MySQL数据库的驱动包。这个压缩文件包含了JDBC(Java Database Connectivity)驱动,使得...
接下来是安装过程。在D盘根目录下创建一个名为php的文件夹,然后分别安装Apache和MySQL到这个文件夹。Apache安装完成后,其根目录应该是D:\php\Apache,而MySQL可以安装在D:\php\MySQL。解压PHP5.3.3到D:\php,并重...