CentOS下MySql 5.7.16 解压版安装

前言:

      我是在VM中安装的CentOS,在CentOS中安装MySql,其实 和 不在虚拟机中安装没撒区别。

一、安装前的准备:

     首先下载MySql安装包,这里我下载的版本是: mysql-5.7.16-Linux-glibc2.5-x86_64.tar.gz

     官网下载地址:https://dev.mysql.com/downloads/

    在linux中下载: #wget http://dev.MySQL.com/get/Downloads/MySQL-5.7/mysql-5.7.16-Linux-glibc2.5-x86_64.tar.gz

二、安装:

1. 创建目录 /usr/local/mysql

       # mkdir  /usr/local/mysql/

2.  首先将安装包复制到 /user/local 目录下,进入local目录,解压安装包

      #tar -xvzf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz  -C   /usr/local/mysql/

      这里要注意,解压后的目录名是mysql(别的也可以,只是后续的操作需要注意它的路径)

3. 创建mysql用户:

      #groupadd mysql

     可以查看  用户是否创建成功

      #cat /etc/group

      #useradd -r -g mysql mysql

4. 进入mysql 目录中 ,执行安装程序:

      #cd /usr/local/mysql/

      # yum install libaio

5. 创建日志目录

      # mkdir /var/log/mariadb/

      # chown mysql:mysql /var/log/mariadb/

 

      # mkdir /var/run/mariadb

      # chown mysql:mysql /var/run/mariadb

     如果不创建分别会出现如下错误:

     touch: 无法创建"/var/log/mariadb/mariadb.log": 没有那个文件或目录

     chmod: 无法访问"/var/log/mariadb/mariadb.log": 没有那个文件或目录

6. 修改my.cnf配置文件

     #cd  /usr/local/mysql/support-files
     #cp  my-default.cnf  /etc/my.cnf
     #cp  mysql.server  /etc/init.d/mysql
     #vim /etc/my.cnf

   142713_3QQv_2894468.png

     将socket 修改为 socket=/tmp/mysql.sock  ,否则会出现以下问题

     ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

7. 初始化数据库

     # cd /usr/local/mysql

     # ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql

     出现以下语句表示成功,并显示root临时密码。

     [Note] A temporary password is generated forroot@localhost: 这个冒号后面就是临时密码

8. 启动数据库

     # ./bin/mysqld_safe --user=mysql

    这时可以查看日志是否启动成功

    # cat /var/log/mariadb/mariadb.log

    Version: '5.7.16'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL)

9. 修改root用户密码

    # ./bin/mysql -uroot -p

      然后输入临时密码进入数据库,执行以下修改密码命令。

      mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '这里写密码';

      mysql> flush privileges;

10.  设置系统自动启动

      # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

      # chkconfig --add mysqld

      # chkconfig --level 2345 mysqld on

11. 添加环境变量

      vim  /etc/profile

     在最后添加以下语句:

     export MYSQL_HOME="/usr/local/mysql"
     export PATH="$PATH:$MYSQL_HOME/bin"

    注:MYSQL_HOME的路径即mysql的绝对路径

   保存退出 ,刷新环境变量

    # source  /etc/profile

12. 修改mysql的编码集,设置大小写不敏感

   # vim  /etc/my.cnf

144405_aXXA_2894468.png

13. 重启数据库

   # service mysq restart

至此 mysql 完成了安装,这时 我们可以使用客户端进行连接了。

三、客户端连接

     我这里是安装在虚拟机中的,在Windows中使用的是Navicat 进行连接的,提示出现无法连接;

172451_EDqk_2894468.png

    出现的原因:由于CentOS的防火墙的原因。

解决方法:

1. 连接虚拟机的中的mysql时 ,就相当于远程连接,此时需要防火墙开通一些端口:

     # vim /etc/sysconfig/iptables

加入以下规则

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

    说明:防火墙开放http用的80端口和连接MySql的3306端口。

    重启防火墙服务

    # service iptables restart

2.  配置MySQL允许远程登陆:

    先在CentOS中连接Mysql数据库

     # ./bin/mysql -uroot -p

     然后执行下列命令

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

     mysql> flush privileges;

    之后就可以退出mysql了,无需重启mysql服务。 打开Windows下的Navicat就可以直接连接到CentOS下的数据库了。

 

 

 

 

 

 

转载于:https://my.oschina.net/qinghang/blog/832038

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值