Centos6.7 系统安装MySQL

一、使用 Linux RPM 方式安装 MySQL

  说明:使用 Linux RPM 方式安装 MySQL必须使用root用户!

  1.1 查看之前是否安装MySQL

        [hadoop@hadoop116 ~]$ rpm -qa | grep mysql

  1.2 如果发现之前有安装过或者系统自带的MySQL版本,进行卸载

        

       [hadoop@hadoop01 ~]$ rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

  1.3 去 MySQL官网 下载对应版本的rpm安装包:

        安装包:mysql-community-client-5.6.24-3.el6.x86_64.rpm 和 mysql-community-server-5.6.24-3.el6.x86_64.rpm

        依赖包:mysql-community-common-5.6.24-3.el6.x86_64.rpm 和 mysql-community-libs-5.6.24-3.el6.x86_64.rpm

   1.4 安装MySQL所需依赖

         [root@hadoop116 ~]$ yum -y install perl-DBI

         [root@hadoop116 ~]$ rpm -ivh /home/hadoop/mysql-community-common-5.6.24-3.el6.x86_64.rpm

         [root@hadoop116 ~]$ rpm -ivh /home/hadoop/mysql-community-libs-5.6.24-3.el6.x86_64.rpm

   1.5 安装MySQL客户端

         [root@hadoop116 ~]$ rpm -ivh /home/hadoop/mysql-community-client-5.6.24-3.el6.x86_64.rpm

   1.6 安装MySQL服务器

         [root@hadoop116 ~]$ rpm -ivh /home/hadoop/mysql-community-server-5.6.24-3.el6.x86_64.rpm

   1.7 启动mysql

         [root@hadoop116 ~]$ service mysqld start

   1.8 使用管理员修改root用户初始密码

         [root@hadoop116 ~]$ /usr/bin/mysqladmin -u root password 'root'

   1.9 登录MySQL客户端

         [root@hadoop116 ~]$ mysql -uroot -proot

   1.10 修改密码及添加远程访问权限

      mysql>SET PASSWORD=PASSWORD('root');   (可不做)

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

      mysql>FLUSH PRIVILEGES;

      命令解释: 

grant 权限 1,权限 2,…权限 n on 数据库名称.表名称 to 用户名@用户地址 identified by‘连接口令’ ;

注意: 权限1,权限 2,…权限 n 代表 select, insert, update, delete, create, drop, index, alter, grant, references, reload, shutdown, process, file 等 14 个权限。当权限 1,权限 2,…权限 n 被 all privileges 或者 all 代替,表示赋予用户全部权限。当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。

用户地址可以是 localhost,也可以是 ip 地址、机器名字、域名。也可以用’%’地址连接。

   1.11 修改密码及添加远程访问权限

           

二、使用 tar.gz 包方式安装MySQL

   说明:本次mysql的安装和初始化使用的是hadoop用户,即将MySQL安装在hadoop普通用户下!

   2.1 去 MySQL官网 下载对应版本的 tar.gz 安装包

       

   2.2 将 tar.gz 安装包上传到linux系统中,并进行解压

         [hadoop@hadoop116 ~]$ tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /home/hadoop/core/

   2.3 创建数据库数据文件目录data-dir和mysql错误日志log-error目录

         [hadoop@hadoop116 ~]$ mkdir -p /home/hadoop/data/mysql && mkdir -p /home/hadoop/logs/mysql

    2.4 更改解压缩后的mysql文件夹名称

         [hadoop@hadoop116 ~]$ cd /home/hadoop/core && mv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql-5.7.22

     2.5 修改mysql配置文件mysql.server中的以下内容

         [hadoop@hadoop116 ~]$ vim /home/hadoop/core/mysql-5.7.22/support-files/mysql.server

# The following variables are only set for letting mysql.server find things.

# Set some defaults
mysqld_pid_file_path=
if test -z "$basedir"
then
  basedir=/home/hadoop/core/mysql-5.7.22    #修改为mysql的解压目录
  bindir=/home/hadoop/core/mysql-5.7.22/bin  #修改为mysql解压目录的bin目录
  if test -z "$datadir"
  then
    datadir=/home/hadoop/data/mysql  #修改为mysql的数据存储目录
  fi
  sbindir=/home/hadoop/core/mysql-5.7.22/bin  #修改为mysql解压目录的bin目录
  libexecdir=/home/hadoop/core/mysql-5.7.22/bin  #修改为mysql解压目录的bin目录
else
  bindir="$basedir/bin"
  if test -z "$datadir"
  then
    datadir="$basedir/data"
  fi
  sbindir="$basedir/sbin"
  libexecdir="$basedir/libexec"
fi

   2.6 将mysql.server文件复制到/etc/init.d/系统目录下,并修改该文件的执行权限

         [hadoop@hadoop116 ~]$ sudo cp /home/hadoop/core/mysql-5.7.22/support-files/mysql.server /etc/init.d/mysqld
         [hadoop@hadoop116 ~]$ sudo chmod 755 /etc/init.d/mysqld && sudo chown hadoop:hadoop /etc/init.d/mysqld

    2.7 配置修改/etc/my.cnf文件

         [hadoop@hadoop116 ~]$ sudo vim /etc/my.cnf

[client]
socket=/home/hadoop/data/mysql/mysql.sock
default-character-set=utf8
[mysqld]
skip-grant-tables
skip-name-resolve
port=3306
basedir=/home/hadoop/core/mysql-5.7.22
datadir=/home/hadoop/data/mysql
socket=/home/hadoop/data/mysql/mysql.sock
user=hadoop
character_set_server=utf8
init_connect='SET NAMES utf8'
symbolic-links=0
log-error=/home/hadoop/logs/mysql/mysqld.log
pid-file=/home/hadoop/data/mysql/mysqld/mysqld.pid
transaction-isolation = READ-COMMITTED
key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1
character_set_server = utf8
max_connections = 1000
log_bin=/home/hadoop/logs/mysql/mysql_binary_log
server_id=1
binlog_format = mixed
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit  = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M
[mysqld_safe]
log-error=/home/hadoop/logs/mysql/mysqld.log
pid-file=/home/hadoop/data/mysql/mysqld/mysqld.pid
!includedir /etc/my.cnf.d

   2.8 添加配置hadoop用户下的mysql环境变量

         [hadoop@hadoop116 ~]$ vim /home/hadoop/.bashrc

 export MYSQL_HOME=/home/hadoop/core/mysql-5.7.22
 export PATH=$PATH:$MYSQL_HOME/bin

   2.9 刷新hadoop用户环境变量配置文件

         [hadoop@hadoop116 ~]$ source /home/hadoop/.bashrc

   2.10 对mysql进行初始化

       2.10.1 服务有可能启动中,需要关闭,查看没有启动可以不执行kill命令

         [hadoop@hadoop116 ~]$ pid=`ps ax | grep port=3306 | grep -v grep | awk '{print $1}'`

         [hadoop@hadoop116 ~]$ kill -9 $pid

         [hadoop@hadoop116 ~]$ pid_mysqld_safe=`ps ax | grep mysqld_safe | grep -v grep | awk '{print $1}'`

         [hadoop@hadoop116 ~]$ kill -9 $pid_mysqld_safe

       2.10.2 mysql开始进行初始化

         [hadoop@hadoop116 ~]$ cd /home/hadoop/core/mysql-5.7.22/bin

         [hadoop@hadoop116 ~]$ sudo mkdir -p /etc/my.cnf.d  (下一步初始化需要这个目录,但是不会自动创建,需要手动创建)

         [hadoop@hadoop116 ~]$ ./mysqld --user=hadoop --basedir=/home/hadoop/core/mysql-5.7.22/bin --datadir=/home/hadoop/data/mysql --initialize

   2.11 创建自定义mysqld.pid存放目录,必须在初始化之后否则初始化数据目录不为空会报错

         [hadoop@hadoop116 ~]$ mkdir -p /home/hadoop/data/mysql/mysqld

   2.12 启动mysql服务

         [hadoop@hadoop116 ~]$ /etc/init.d/mysqld start

   2.13 登录mysql修改root用户和hadoop用户的密码并赋予远程访问权限

         [hadoop@hadoop116 ~]$ mysql

         

         mysql> update mysql.user set host = '%' where user = 'root';

         mysql> flush privileges;  (因为我们安装使用的 skip-grant-tables 跳过安全校验,这儿不刷新权限,会报权限错误)

         mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

         mysql> grant all privileges on *.* to hadoop@'%' identified by 'hadoop';

         mysql> flush privileges;

         mysql> exit;

   2.14 删除/etc/my.cnf文件中的免密权限校验属性skip-grant-tables并重启服务

            

   2.15 验证hadoop用户或root用户登录并使用mysql是否成功

            

   2.16 设置mysql服务开机自启

         [hadoop@hadoop116 ~]$ sudo chkconfig mysqld on

以上就是centos6.7 mysql的两种安装方式,如果觉得本博客整理的还不错的筒子们,记得点赞分享哟! 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值