服务器搭建--Linux安装mysql5.7

一、安装前的准备:

     首先下载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 -xvf 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

  

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

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

7. 初始化数据库

如果是centos系统,默认会开启selinux 
关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

 # 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

13. 重启数据库

# service mysqld restart

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

三、客户端连接

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

    出现的原因:由于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

如果是firewalld防火墙请参考:

查看端口是否已开:

# firewall-cmd --query-port=3306/tcp

添加指定需要开放的端口:

# firewall-cmd --add-port=3306/tcp --permanent 

yes 为已开放,no 是未开放

重载入添加的端口:

# firewall-cmd --reload 

查询指定端口是否开启成功:

# firewall-cmd --query-port=123/tcp

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

    先在CentOS中连接Mysql数据库

# ./bin/mysql -uroot -p

     然后执行下列命令

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

mysql> flush privileges;

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

MySQL8.0+ 的配置方式如下:

1.查看用户目前的权限

use mysql;

select Host,User from user where user='root';

我这里已经开放了外网权限,没有开放%显示的是localhost 

2.修改Host为%,代表外网可以连接,并刷新

update user set Host='%' where User ='root';

FLUSH PRIVILEGES;

3.再执行授权语句

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

4.在本地使用navicat看看能否连接

服务器搭建--Linux安装jdk

服务器搭建--Linux安装tomcat

服务器搭建--Linux安装mysql5.7

服务器搭建--Linux安装MongoDB3.6.4

服务器搭建--Linux安装nginx

服务器搭建--Linux安装memcached

服务器搭建--Linux安装redis

服务器搭建--Linux安装erlang

服务器搭建--Linux安装rabbitmq

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子非鱼yy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值