服务器维护,服务器代维,安全设置,漏洞扫描,入侵检测服务

运维之家

 找回密码
 注册
搜索
查看: 5180|回复: 1

详细设置MySQL5.1.45免安装版/二进制版

[复制链接]
dirtysea 发表于 2010-4-4 23:46:35 | 显示全部楼层 |阅读模式
安装方法有用二进制安装的,即不需要编译;有用RPM包安装;有用源码安装的(Source),即需要编译.
####后缀带有glibc的,表示是用glibc已编译的二进制版本,解压就能用了。

Intel c/c++ compiled表示使用intel CC编译器编译的二进制版本,在intel处理器上有更好的性能。

i686并非64位,而是32位

只有AMD 64 和INTEL 64才是64位的####
二进制安装如下(安装环境:虚拟机下centos5.2内核2.6.18-92.el5默认安装)
一、下载
Linux (non RPM, Intel C/C++ compiled, glibc-2.3)然后上传到/usr/local/
二、安装

1. groupadd mysql    #添加mysql用户及用户组
2. useradd -g mysql mysql
3. cd /usr/local
4. tar -xvf mysql-5.1.40-linux-i686-icc-glibc23.tar.gz

5. ln -s mysql-5.1.40-linux-i686-icc-glibc23 mysql     #ln(link)相当WIN的快捷方式有软硬之分
6. cd mysql
     #cp support-files/my-large.cnf /etc/my.cnf   在support-files下有4个模板文件根据不同内存选择复制
     #vi /etc/my.cnf  将socket=/tmp/mysql.sock 修改为socket=/var/lib/mysql/mysql.sock


7. scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql
8. chown -R root :mysql .     #修改mysql目录权限(注意命令中的" . "符号不能少)
9. chown -R mysql data   
10. bin/mysqld_safe --basedir=/usr/local/mysql --user=mysql &
(如果没有问题的话,应该会出现类似这样的提示:
              [1] 42264
              # Starting mysqld daemon with databases from /usr/local/mysql/var
       如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,log文件的通常在/etc/my.cnf中配置。
       大多数问题是权限设置不正确引起的。 )
至此,安装完成。
使用mysql命令**控制台
现在数据库安装完成. 但不能运行mysql 命令 因为Mysql的安装目录并没有在系统环境变量下
修改/etc/profile, 在export 之上
添加如下两行
MYSQL_HOME=/usr/local/mysql
PATH=$PATH:$MYSQL_HOME/bin

退出系统重新**或执行source /etc/profile 使环境变量生效

mysql -u root

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 63778 to server version: 5.0.41-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


系统默认没有设置mysql的root密码, 为了安全,我们需要为mysql的root 设置密码
mysqladmin password 'kulong'


然后使用mysql -u root -p 提示输入密码 输入后**
如果系统为Redhat 或Centos 可以将Mysql 加入到系统服务中, 开机自动运行.


使用service mysqld start|stop|........... 进行管理

cp support-files/mysql.server /etc/rc.d/init.d/mysql

chmod +x /etc/rc.d/init.d/mysql                       
chkconfig --add mysql                                 
chkconfig --level 345 mysqld on                       

开机后即可自动启动

查看3306端口是否打开。要注意在防火墙中开放该端口。
#netstat -atln

 楼主| dirtysea 发表于 2010-4-5 01:30:12 | 显示全部楼层
三. 日常使用与维护

1. 建立数据库

mysql> CREATE DATABASE menagerie;


2. 建立表

mysql> USE menagerie

Database changed

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);


表的描述

describe pet;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES |     | NULL    |       |
| owner   | varchar(20) | YES |     | NULL    |       |
| species | varchar(20) | YES |     | NULL    |       |
| sex     | char(1)     | YES |     | NULL    |       |
| birth   | date        | YES |     | NULL    |       |
| death   | date        | YES |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)


插入数据
mysql> INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

检索pet 表内所有信息
mysql> SELECT * FROM pet;

更新匹配行的内容
mysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';

删除匹配行的内容
mysql> DELETE from pet where birth = '1989-08-31'

删除表
mysql> drop table pet;

删除数据库
mysql> drop database menagerie;
Query OK, 0 rows affected (0.00 sec)

添加用户和密码
mysql> grant all on SMS.* to 'backup'@'localhost' identified by '123456789';

添加用户backup 密码为123456789 有SMS库的select update select delete 权限 允许本地连接
如果想要远程连接 localhost 换成ip即可

3. 数据库的备份与恢复

使用mysqldump 进行备份与恢复
1). 备份名字为database的库
mysqldump -uroot --opt -p database > database.sql
Enter password:

2). 恢复名字为database的库
mysql -uroot -p database < database.sql

这样做的优点是备份与恢复时无需停止服务, 缺点是需要锁定表为只读模式
--opt 模式包括--add-locks

备份数据文件
备份时将数据库停掉, 将数据文件copy 到指定目录, 开启数据库服务.
恢复时将数据库停掉, 将数据文件copy到数据库的数据目录下, 开启数据库服务.


使用mysqlhotcopy


自动化备份脚本
每天凌晨备份完整的数据文件到rsync 服务器

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# vi mysqlbackup.sh
#!/bin/bash
#author: qipeng.song@gmail.com
#time : 2008/06/03
#purpose: To backup database SMS daily, and trans it to backup server
IPADDRESS=`grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0 | awk -F "=" '{
print $2}'`
RSYNCHOST="60.28.xxx.xxx"
RSYNCMODE="mysqlbackup"
RSYNCCMD="/usr/bin/rsync -azu"
MYSQLCMD="mysqldump --opt -ubackup -p123456789"
PASSFILE="/usr/local/src/pass"
RSYNCUSER="user"

#The database to be bakuped
DATABASES="SMS"
BACKUPDIR=/usr/local/sms/data/backup
TIMESTAMP=`date +%y%m%d -d "1 days ago"`

#Start backup
echo Start Backup $DATABASES
sleep 5
cd $BACKUPDIR
$MYSQLCMD $DATABASES > $BACKUPDIR/$IPADDRESS.$DATABASES.$TIMESTAMP
        if [ $? = 0 ]; then
                echo "$IPADDRESS Backup $DATABASES sucess $TIMESTAMP" >> sucess.
log
                echo Backup Sucess Done
        else
                echo "$IPADDRESS Backup $DATABASES failed $TIMESTAMP" | mail -s
"qipeng.song@gmail.com"

        exit 1
        fi

#Backup Database to remote server
echo Start Rsync Database File to Remote Host ....
sleep 5

$RSYNCCMD $IPADDRESS.$DATABASES.$TIMESTAMP $RSYNCUSER\@$RSYNCHOST::$RSYNCMODE --
password-file $PASSFILE
         if [ $? = 0 ]; then
                echo "$IPADDRESS Rsync $DATABASES sucess $TIMESTAMP" >> sucess.l
og
                echo Transfer Database File Has Done ....
        else
                echo "$IPADDRESS Rsync $DATABASES failed $TIMESTAMP" | mail -s "
qipeng.song@gmail.com"

        exit 1
        fi

RPM安装如下

下载MySQL-client-community-5.1.40-0.rhel5.i386.rpm
      MySQL-server-community-5.1.40-0.rhel5.i386.rpm 俩个包

rpm -ivh 这俩个包,

修改空密码/usr/bin/mysqladmin -u root password 123456

**mysql -u root -p 输入密码OK.

忘了mysql的root口令怎么办
# /usr/local/mysql/support-files/mysql.server stop
# mysqld_safe --skip-grant-tables &
# mysqladmin -u user password 'newpassword'
# mysqladmin flush-privileges
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|运维之家

GMT+8, 2024-4-28 03:59 , Processed in 0.134828 second(s), 14 queries .

Powered by Dirtysea

© 2008-2020 Dirtysea.com.

快速回复 返回顶部 返回列表