mysql的使用——linux上的安装步骤

mysql在linux上的安装过程

第一步:

使用uname -a命令查看机器是32位还是64位的,然后在到mysq的官网下载相关的安装包,现在的安装包主要是rpm格式的,直接安装就可以了,不需要配置相关的路径,在这里,我主要介绍一下我使用的源码安装包的安装过程。

第二步:

创建mysql用户组和mysql用户并配置权限(注意需要root权限哦)

groupadd mysql
useradd -r -g mysql mysql
chown -R mysql *
chgrp -R mysql *

这里也可以在home目录下创建mysql目录,并且在home目录使用命令指定用户登入时的启动目录(可选),如下

usermod -d /home/mysql mysql

再使用passwd对mysql用户设定密码

第三步:

解压编译好的源码安装包到/data/目录下

tar -zxvf mysql-5.5.24-linux2.6-x86_64.tar.gz

mv mysql-5.5.24-linux2.6-x86_64/* /data/mysql

并使用硬链接到/usr/local/mysql

ln -s /data/mysql/ /usr/local/mysql

第四步:

安装数据初始文件,例如test,mysql等数据库默认实在安装目录的data文件夹中

cd /data/mysql

scripts/mysql_install_db --user=mysql

cp support-files/my-medium.cnf /etc/my.cnf

cp bin/mysql* /usr/bin/

第五步:

启动mysql数据库

mysqld_safe --user=mysql &

这样就完成了mysql数据库的安装过程,可以看一看mysql里自带的几个数据库了

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.00 sec)

第六步:

创建自己的用户名和密码

mysql -Ns -e"grant all on *.* to 'username'@localhost identified by 'password'"

使用该用户名进入

mysql -uusername -ppassword

这样就可以使用自己的用户名创建数据库和建表等操作了


我遇到的一个问题:

路径/tmp/的权限导致在执行scripts/mysql_install_db --user=mysql操作时总是失败,后来使用chmod 777 /tmp就可以了

下面附上一个自动安装脚本:

使用方法:将mysql的源码安装包放到/data目录下,使用root用户执行

<span style="background-color: rgb(255, 255, 255);">#!/bin/bash

# 要求用户将mysql的安装文件放在/data目录下
# iflow.sql用于创建数据库的sql文件

# 验证当前环境,主要是检查安装文件是否存在
check_env()
{
	cd /data
	# 先查看mysql安装包是否存在
	ls mysql*.tar.gz > /dev/null 2>&1
	if(($?!=0))
	then
		echo "no mysql-install file"
		exit 
	fi
	mysql_install_file=`ls mysql*.tar.gz`
	
	# 确保只有一个安装文件
	file_num=`echo $mysql_install_file | awk '{print NF}'`
	if((file_num > 1))
	then
		echo "mysql-install file more than 1"
		exit 
	fi

	# 如果本机已经安装了mysql,要把对应的文件给删除掉
	# 待完成
}

# check using root
check_user()
{
	username=`whoami`
	if [ "$username" != "root" ]
	then
		echo "please change to root"
		exit 
	fi
}

# install mysql to path(best to /data/mysql)
install_mysql()
{
	# 先停掉正在运行的mysql
	mysqladmin shutdown > /dev/null 2>&1
	install_path="/data/mysql"

	# 解压安装文件,然后把压缩目录修改为/data/mysql
	tar zxvf $mysql_install_file
	path_tem=`echo $mysql_install_file | awk -F'.tar.gz' '{print $1}'`

	# 删除原有的解压文件,原有的目录太长,太丑了
	mv $path_tem $install_path

	# 开始在安装目录进行相应的配置
	cd $install_path
	groupadd mysql
	useradd -r -g mysql mysql
	chown -R mysql *
	chgrp -R mysql *

	if [ -e "/usr/local/mysql" ]
	then
		echo "rm and create new /usr/local/mysql"
		rm -rf /usr/local/mysql 
	fi
	ln -s $install_path /usr/local/mysql

	# 安装数据初始文件,例如test,mysql等数据库默认是在安装目录的data文件夹里面
	scripts/mysql_install_db --user=mysql
	cp support-files/my-medium.cnf /etc/my.cnf
	cp bin/mysql* /usr/bin/

	# 启动服务
	# /usr/bin/mysqld_safe --user=mysql &
	# 关闭服务
	# /usr/local/mysql/bin/mysqladmin shutdown
}

# start mysql
start_mysql()
{
	mysqld_safe --user=mysql &
	times=1

	while ((1))
	do
		sleep 5
		mysql -Ns -e"show databases;" > /dev/null 2>&1
        if(($?==0))
        then
        	break
        else
        	((times++))
        fi

        if((times ==3))
        then
        	# 如果尝试三次仍然不能启动mysql,就去日志里面查看原因,日志的路径为$install_path/date
        	log_name=`uname -a | awk '{print $2}'`
        	echo "start mysql error,please check $install_path/date/${log_name}.err"
        	exit
    	fi
	done

	cd /data
	if [ ! -e "iflow.sql" ]
	then
		echo "/data/iflow.sql not exist"
		exit
	fi

	# 先进入mysql进行对应的设置
	# 执行iflow.sql创建iflow数据库和表
	mysql -Ns -e"source /data/iflow.sql"
	echo "start mysql success"
}

# create user
create_db_user()
{
	mysql -Ns -e"grant all on *.* to 'iflow'@localhost identified by ''"
	mysql -Ns -e"grant all on *.* to 'iflow_web'@localhost identified by 'iflow_2013'"
}
main()
{
	check_env

	check_user
	
	install_mysql
	
	start_mysql
	
	create_db_user
}

main

</span>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值