Linux下mysql的安装步骤

                              Linuxmysql的安装步骤(非rpm安装)

1 下载mysql-standard-<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">5.0.27</st1:chsdate>-linux-i686-glibc23.tar.gz

2 解压到安装目录: tar -zxvf /edass/db/mysql-standard-<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">5.0.27</st1:chsdate>-linux-i686-glibc23.tar.gz

3   mysql-standard-<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">5.0.27</st1:chsdate>-linux-i686-glibc23链接到mysql : ln –s mysql-standard-5.0.27-linux-i686-glibc23 mysql <o:p></o:p>

4 mysql建立群和用户(linux用户)<o:p></o:p>

shell> groupadd mysql<o:p></o:p>

shell> useradd -g mysql mysql<o:p></o:p>

5 初始化数据库:scripts/mysql_install_db --user=mysql   (mysql_install_db <o:p></o:p>

以缺省权限创建MySQL授权表。这通常仅被执行一次。就是在系统上第一次安装MySQL时。<o:p></o:p>

)<o:p></o:p>

6 启动mysql数据库:bin/mysqld_safe --user=mysql &<o:p></o:p>

7 root进入mysql命令行模式:./mysql -u root -p <o:p></o:p>

//   8 root分配密码:mysql>grant all privilages on *.* to root@localhost

 // identified by 'password' with grant option

9授予 root用户可以从任何主机发起访问:mysql>grant all privilages on *.* to root@"%" identified by 'password' with grant option;"%"是通配符,授予 admin 用户可以从任何主机发起访问,password 是为 admin 用户设置的密码。一般来讲,Root 应只用于数据库本机上登录 MySQL,我们可以增加一个拥有超级管理权限的用户 'admin' 来实现远程的维护。<o:p></o:p>

<o:p></o:p>

Mysql启动命令:./bin/mysqld_safe –-user=mysql &<o:p></o:p>

Mysql关闭命令:./bin/mysqladmin –uroot –phkgt123 shutdown<o:p></o:p>

Mysql数据脚本导出(整个数据库)./bin/mysqldump –-opt–uroot –phkgt123 test > /edass/db/dgflog.sql<o:p></o:p>

Mysql数据脚本导入(整个数据库)./bin/mysql –uroot –phkgt123 dgflog < /edass/db/dgflog.sql<o:p></o:p>

Mysql的端口修改 :vi etc/my.cnf  port=3300 #修改成你自己想要的端口<o:p></o:p>

设置自动启动/etc/rc.d/rc.local 添加  cd /edass/auditdb/mysql; bin/mysqld_safe --socket=/tmp/auditdb.sock --port=4406 <o:p></o:p>

--user=mysql &<o:p></o:p>

修改mysql密码:
  mysqladmin -u
用户名 -p旧密码 password 新密码
 
或进入mysql命令行SET PASSWORD FOR root=PASSWORD("root");<o:p></o:p>

10 mysql命令行常用命令:<o:p></o:p>

第一招、mysql服务的启动和停止<o:p></o:p>

net stop mysql<o:p></o:p>

net start mysql<o:p></o:p>

<o:p> </o:p>

第二招、登陆mysql<o:p></o:p>

语法如下: mysql -u用户名 -p用户密码<o:p></o:p>

键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:<o:p></o:p>

mysql><o:p></o:p>

注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP<o:p></o:p>

<o:p> </o:p>

第三招、增加新用户<o:p></o:p>

格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"<o:p></o:p>

如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:<o:p></o:p>

grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";<o:p></o:p>

如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"<o:p></o:p>

如果你不想user1有密码,可以再打一个命令将密码去掉。<o:p></o:p>

grant select,insert,update,delete on mydb.* to user1@localhost identified by "";<o:p></o:p>

<o:p> </o:p>

第四招: 操作数据库

登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。

1、 显示数据库列表。

show databases;<o:p></o:p>

缺省有两个数据库:mysqltest mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。<o:p></o:p>

2、 显示库中的数据表:<o:p></o:p>

use mysql;<o:p></o:p>

show tables;<o:p></o:p>

3、 显示数据表的结构:<o:p></o:p>

describe 表名;<o:p></o:p>

4、 建库与删库:<o:p></o:p>

create database 库名;<o:p></o:p>

drop database 库名;<o:p></o:p>

5、 建表:<o:p></o:p>

use 库名;<o:p></o:p>

create table 表名(字段列表);<o:p></o:p>

drop table 表名;<o:p></o:p>

6、 清空表中记录:<o:p></o:p>

delete from 表名;<o:p></o:p>

7、 显示表中的记录:<o:p></o:p>

select * from 表名;<o:p></o:p>

<o:p> </o:p>

第五招、导出和导入数据<o:p></o:p>

1. 导出数据:<o:p></o:p>

mysqldump --opt test > mysql.test<o:p></o:p>

即将数据库test数据库导出到mysql.test文件,后者是一个文本文件<o:p></o:p>

如:mysqldump -u root -p123456 --databases dbname > mysql.dbname<o:p></o:p>

就是把数据库dbname导出到文件mysql.dbname中。<o:p></o:p>

2. 导入数据:<o:p></o:p>

mysqlimport -u root -p123456 < mysql.dbname<o:p></o:p>

不用解释了吧。<o:p></o:p>

3. 将文本数据导入数据库:<o:p></o:p>

文本数据的字段数据之间用tab键隔开。<o:p></o:p>

use test;<o:p></o:p>

load data local infile "文件名" into table 表名;<o:p></o:p>

linux下的计划任务:<o:p></o:p>

cron命令:循环执行某一命令。at命令只能执行一次,虽然都是计划任务的命令,这是这两个命令的区别。

用户cron:用户自己加的
cron:系统默认就有的

#ls /etc/crontab //显示crontab命令路径
#cat /etc/crontab //
查看系统crontab
* * * * *
用户名 可执行命令
下面是每个位置的表示意义和取值范围
名称 * * * * * 用户名 可执行命令
表示 分钟 小时 日期 月份 星期
取值范围 0-59 0-23 1-31 1-12 0-6

* * * * * //代表每分钟
1 * * * * //
代表每小时第1分钟
02 12 * * * //
代表每天12点第2分钟(每天1202
0-59/2 * * * * //
代表每2分钟执行一次任务

#which 命令名称:查看命令所在目录路径。
#which date //
查看date命令所在目录路径
/bin/date
#crontab -e //
编辑crontab命令,-e(edit)代表编辑
* * * * * /bin/date >>/root/66.txt //
每分钟向/root/66.txt写入一次当前系统时间
#crontab -l //
显示用户计划任务
#crontab -r //
删除用户计划任务
注意:#crontab -r命令,在哪个用户下,删除的就是哪个用户的计划任务,还需要注意的是该命令是删除

所有用户的所有计划任务。还有普通用户不能删除root的计划任务的权限。

普通用户进行crontab命令计划任务操作
例:#su - text //切换到普通用户text
$crontab -e //
text普通用户中进行crontab命令计划任务编辑
* * * * * /bin/date >>/home/text/33.txt //
每分钟向/home/text/33.txt写入一次当前系统时间
cat /home/text/33.txt //
显示/home/text/33.txt文件内容

#crontab -u 用户名 -e //root用户中给普通用户加计划任务编辑操作

#which crontab //查看crontab命令位置
说明:which命令是查看命令所在位置,which会在$PATH里找,在普通用户里不好用。
ll /usr/bin/crontab //
查看crontab命令权限
cat /etc/crontab //
显示/etc/crontab文件内容

小例子
#cd /home/aaa //
进入普通用户aaa(home)目录里
#vi 1.txt //
建立1.txt文件
/sbin/init 6 //
1.txt文件进行操作,写入/sbin/init 6(重启操作),然后wq(保存退出)
#chmod 755 1.txt //
1.txt文件权限改成可执行文件
#run-parts aaa //
执行该操作机器将重启(注意:执行该操作只能在/home/aaa目录外执行才有效)

#cd /var/spool/cron //建立的计划任务都存放在/var/spool/cron目录里
#ls //
显示可以执行crontab命令的用户
#cat
用户名 //并可以用cat命令显示用户crontab命令的内容
#cat test //
显示test用户计划任务内容

应用mysql的定时备份:<o:p></o:p>

可以将这个脚本放进crontab,每天凌晨执行一次,自动备份这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。 <o:p></o:p>

代码: <o:p></o:p>

#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by SearchDatabase
#2005-09
<o:p></o:p>

#Setting
#
设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式
#
默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy
#
默认情况下,用root()登录mysql数据库,备份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
<o:p></o:p>


NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
<o:p></o:p>

echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
   rm -f $OldFile >> $LogFile 2>&1
   echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
   echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
<o:p></o:p>

if [ -f $NewFile ]
then
   echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile
else
   case $BackupMethod in
   mysqldump)
      if [ -z $DBPasswd ]
      then
         mysqldump -u $DBUser --opt $DBName > $DumpFile
      else
         mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
      fi
      tar czvf $NewFile $DumpFile >> $LogFile 2>&1
      echo "[$NewFile]Backup Success!" >> $LogFile
      rm -rf $DumpFile
      ;;
   mysqlhotcopy)
      rm -rf $DumpFile
      mkdir $DumpFile
      if [ -z $DBPasswd ]
      then
         mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
      else
         mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
      fi
      tar czvf $NewFile $DumpFile >> $LogFile 2>&1
      echo "[$NewFile]Backup Success!" >> $LogFile
      rm -rf $DumpFile
      ;;
   *)
      /etc/init.d/mysqld stop >/dev/null 2>&1
      tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1
      /etc/init.d/mysqld start >/dev/null 2>&1
      echo "[$NewFile]Backup Success!" >> $LogFile
      ;;
   esac
fi
<o:p></o:p>

<o:p> </o:p>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值