Linux上安装MySQL

1,下载MYSQL安装程序

地址:http://www.mysql.com/downloads/mysql/

选择你所安装环境下的服务器:

分别下载

SERVER程序:MySQL-server-community-5.1.44-1.rhel5.i386.rpm

CLIENT工具:MySQL-client-community-5.1.44-1.rhel5.i386.rpm

 

2,通过本地SSH Secure工具将文件上传到服务器

1)安装服务器端

  在有两个rmp文件的目录下运行如下命令:

  [root@test1 local]# rpm -ivh MySQL-server-community-5.1.44-1.rhel5.i386.rpm

  显示如下信息:

  Preparing... ########################################### [100%]

  1:MySQL-server ########################################### [100%]

 

2)测试是否安装成功

   [root@test1 local]# netstat -natpl

   显示3306端口开放表示服务安装成功

 

3)安装客户端工具

   [root@test1 local]# rpm -ivh MySQL-client-community-5.1.44-1.rhel5.i386.rpm

  Preparing...    ########################################### [100%]

  1:MySQL-client  ########################################### [100%]

  显示安装完成

4)测试连接

   [root@test1 local]# mysql

   出现如下提示符

   mysql>

   表示登陆成功。

   以上登陆情况是在没有设置密码的情况下登陆,在设置防火墙前注意对MYSQL设置密码

 

5)对MYSQL用户ROOT设置密码

   [root@test1 local]# /usr/bin/mysqladmin -u root password 123456

   123456只是事例密码,实际配置过程中注意相关密码复杂性要求

 

6)  mysql用户设置远程访问权限

   方法1,改表法。可能是你的帐号不允许从远程登陆,只能在localhost

   这个时候只要在localhost的那台电脑,登入mysql后,更改 mysql 数据库里的 user 表里的 host 项,从“localhost”改称“%

   mysql -u root -p123456

   mysql>use mysql;

   mysql>update user set host = ‘%’ where user = ‘root’;

   mysql>select host, user from user;

   mysql>FLUSH   PRIVILEGES

     

 

   方法2,授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

 

   mysql>GRANT ALL PRIVILEGES ON *.* TO myuser@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

   mysql>FLUSH   PRIVILEGES;

 

   如果你想允许用户myuserip10.0.0.233的主机连接到mysql服务器,并使用mypassword作为密码

myql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'10.0.0.233' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

   myql>FLUSH   PRIVILEGES;

 

7) LINUX系统IPTABLES配置,使外网用户能够访问MYSQL

   修改/etc/sysconfig下的iptables文件;

   原文件内容如下:

   [root@linux1 sysconfig]# vi iptables

   # Firewall configuration written by system-config-securitylevel

   # Manual customization of this file is not recommended.

   *filter

   :INPUT ACCEPT [0:0]

   :FORWARD ACCEPT [0:0]

   :OUTPUT ACCEPT [0:0]

   :RH-Firewall-1-INPUT - [0:0]

   -A INPUT -j RH-Firewall-1-INPUT

   -A FORWARD -j RH-Firewall-1-INPUT

   -A RH-Firewall-1-INPUT -i lo -j ACCEPT

   -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT

   -A RH-Firewall-1-INPUT -p 50 -j ACCEPT

   -A RH-Firewall-1-INPUT -p 51 -j ACCEPT

   -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

   -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

   -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

   -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

   -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

   -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

    COMMIT

    在原文件内容下插入

   -A RH-Firewall-l-INPUT -m tcp -m tcp --dport 3306 -j ACCEPT

    注:插入内容位置不能在最后一行应在倒数第三行

    修改后内容如下:

    [root@linux1 sysconfig]# vi iptables

    # Firewall configuration written by system-config-securitylevel

    # Manual customization of this file is not recommended.

    *filter

    :INPUT ACCEPT [0:0]

    :FORWARD ACCEPT [0:0]

    :OUTPUT ACCEPT [0:0]

    :RH-Firewall-1-INPUT - [0:0]

     -A INPUT -j RH-Firewall-1-INPUT

     -A FORWARD -j RH-Firewall-1-INPUT

     -A RH-Firewall-1-INPUT -i lo -j ACCEPT

     -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT

     -A RH-Firewall-1-INPUT -p 50 -j ACCEPT

     -A RH-Firewall-1-INPUT -p 51 -j ACCEPT

     -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

     -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

     -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

     -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

     -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

     -A RH-Firewall-1-INPUT -m tcp -m tcp --dport 3306 -j ACCEPT

     -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

      COMMIT

      重启IPTABLES

      [root@linux1 sysconfig]# sevice iptables restart

      完成安装

      

 

 

MSYQL安装目录结构

1、数据库目录

  /var/lib/mysql/

 

  2、配置文件

  /usr/share/mysqlmysql.server命令及配置文件)

 

  3、相关命令

  /usr/bin(mysqladmin mysqldump等命令)

 

  4、启动脚本

  /etc/rc.d/init.d/(启动脚本文件mysql的目录)

 

 

2,数据库目录转移

  1,在根目录下新建文件夹

     [root@linux1 ~]# mkdir mysqldata

  2, 停止MYSQL服务器

     service mysql stop

     复制/var/lib/mysql下所有文件到/mysqldata

     查看原数据库文件夹下各文件权限默认为mysql

  3, 更改/mysqldata下各文件权限

      [root@linux1 ~]# chgrp -R mysql ./mysqldata && chown -R mysql ./mysqldata

     检查权限

        [root@linux1 /]# ls -l

  4, 配置my.cnf文件

     复制并更改文件到/etc目录下

    [root@linux1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

  5, 修改my.cnf

# The MySQL server

[client]

#password       = your_password

port            = 3306

#  socket               = /var/lib/mysql/mysql.sock

socket                  =/mysqldata/mysql.sock  --增加此行,并配置数据库目录

    [mysqld]

    port            = 3306

    #  socket       = /var/lib/mysql/mysql.sock

    socket         =/mysqldata/mysql.sock   --增加此行,并配置数据库目录

 

 6, 修改启动文件

    修改/etc/rc.d/init.d/mysql

    找到datadir位置,修改内容如下

    # Set some defaults

    pid_file=

    server_pid_file=

    use_mysqld_safe=1

    user=mysql

    if test -z "$basedir"

then

    basedir=/

    bindir=/usr/bin

    if test -z "$datadir"

    then

#   datadir=/var/lib/mysql --修改前内容

    datadir=/mysqldata --修改后内容

    fi

    sbindir=/usr/sbin

 

 7,启动MYSQL服务

    [root@linux1 mysql]#service mysql start

 

:  1,MYSQL更改数据库目录后相关错误日志文件存为/mysqldata下的.err文件

    2,更改目录完成后可能出现SELINUX报错,本人建议不要关闭SELINUX,解决办法为:

     

    使用ls -laZ查看原数据库目录及相关文件的策略属性,通过chcon修改移动后的文件策略属性:例如:

    [root@linux1 mysql]#chcon -t mysqld_db_t /mysqldata

    3,整个移动数据库过程中一定要注意权限也要跟着移动

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值