Linux安装Mysql5.7.21

1、查看是否安装mariadb,若安装了则卸载掉;同时查看是否已经安装了mysql

  1.  
    [root@localhost local]# rpm -qa | grep mariadb
  2.  
    [root@localhost local]# rpm -e --nodeps ×××
  3.  
     
  4.  
    [root@localhost local]# rpm -qa | grep mysql
  5.  
    [root@localhost local]# rpm -ev ××× --nodeps

或者删除与mysql有关的(这里慎用,因为线上可能有的文件命名为mysql,实际上却和mysql无关,被删掉就gg了)

[root@localhost local]# find / -name "*mysql*" | xargs rm -rf

2、至mysql官网下载稳定版: https://dev.mysql.com/downloads/mysql/

3、下载好后上传至linux

  1.  
    [root@localhost /]# cd /usr/local
  2.  
    [root@localhost local]# rz

若没有rz命令报错,则先执行 

[root@localhost local]# yum install lrzsz

4、解压并重命名(此时的路径: /usr/local)

  1.  
    [root@localhost local]# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
  2.  
    [root@localhost local]# mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql

5、赋权限

  1.  
    [root@localhost local]# useradd mysql
  2.  
    [root@localhost local]# groupadd mysql
  3.  
    [root@localhost local]# chmod 777 /usr/local/mysql
  4.  
    [root@localhost local]# chown -R mysql.mysql /usr/local/mysql
  5.  
    [root@localhost local]# chgrp -R mysql /usr/local/mysql

6、初始化(记住密码  在root@localhost:后面的就是初始化的密码)

[root@localhost local]# ./mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

我在安装时报错

./mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方式:

 rpm -qa|grep libaio 

发现没有安装该库,则

yum install  libaio-devel.x86_64

搞定!

7、将默认的3306端口加入防火墙

  1.  
    [root@localhost local]# vim /etc/sysconfig/iptables #加入以下
  2.  
    -A INPUT -p TCP --dport 3306 -j ACCEPT

8、编辑mysql配置文件 my.cnf

[root@localhost local] vim /etc/my.cnf
  1.  
    [mysql]
  2.  
    # 设置mysql客户端默认字符集
  3.  
    default-character-set=utf8
  4.  
    socket=/var/lib/mysql/mysql.sock
  5.  
    [mysqld]
  6.  
    #skip-name-resolve
  7.  
    #设置3306端口
  8.  
    port = 3306
  9.  
    socket=/var/lib/mysql/mysql.sock
  10.  
    # 设置mysql的安装目录
  11.  
    basedir=/usr/local/mysql/
  12.  
    # 设置mysql数据库的数据的存放目录
  13.  
    datadir=/usr/local/mysql/data
  14.  
    # 允许最大连接数
  15.  
    max_connections=200
  16.  
    # 服务端使用的字符集默认为8比特编码的latin1字符集
  17.  
    character-set-server=utf8
  18.  
    # 创建新表时将使用的默认存储引擎
  19.  
    default-storage-engine=INNODB
  20.  
    #lower_case_table_name=1
  21.  
    max_allowed_packet=16M

9、启动服务

  1.  
    [root@localhost local]# cp ./mysql/support-files/mysql.server /etc/init.d/mysql
  2.  
    [root@localhost local]# chmod 777 -R /etc/init.d/mysql
  3.  
    [root@localhost local]# service mysql start

这个时候一般会报错(如果没报错就跳过此步骤)

  1.  
    Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
  2.  
    2018-05-01T07:13:24.115963Z mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
  3.  
    ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

对症下药

  1.  
    [root@localhost local]# mkdir /var/lib/mysql
  2.  
    [root@localhost local]# chmod 777 -R /var/lib/mysql

10、添加至环境变量,以后就可以在任何目录下操作mysql命令了

  1.  
    [root@localhost bin]# vim /etc/profile
  2.  
    PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:/java/git2.8.0/bin:/usr/local/mysql/bin
  3.  
     
  4.  
    [root@localhost bin]# source /etc/profile

11、测试登录

[root@localhost local]# ./mysql/bin/mysql -uroot -p

密码为刚才初始化时候记录下的,进入mysql后修改密码,设置权限(这里简单演示,实际生产中会创建专门的用户和限制IP段)

  1.  
    mysql>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
  2.  
    mysqsl>grant all privileges on *.* to 'root' @'%' identified by 'root';

12、加入系统服务

    1.  
      [root@localhost local]# chkconfig --add mysql
    2.  
      [root@localhost local]# chkconfig mysql on
posted @ 2018-07-10 10:03  tracy11111  阅读(114)  评论(0)    收藏  举报