下载Mysql

官网地址,点击download,找到Community

选择MySQL Community Server

选择平台和版本下载即可

安装mysql

查看安装文档

在下载页面上面有安装指南

选取指定的平台,查看安装步骤

进入到安装指南页面,warning大概翻译就是,如果之前安装过mysql,比如通过yum或者apt安装,那估计这次就很难装。

Important翻译大概是,mysql依赖libaio这个library。如果没有安装,那么安装会失败。

删除自带的mariadb,卸载后/etc/my.cnf将不存在!!!初始化及启动要自己指定参数,不推荐卸载!!!

  1. [root@localhost mysql]# rpm -qa|grep mariadb #查找是否安装mariadb
  2. mariadb-libs-5.5.-.el7.x86_64
  3. [root@localhost mysql]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 #卸载mariadb
  4. warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave

解压创建软连接,改变文件所属用户及组(单独设data的所属用户名和组即可)

  1. tar zxvf /path/to/mysql-VERSION-OS.tar.gz #将tar压缩文件解压到当前文件夹
  2. ln -s /usr/local/mysql_5.7.0 mysql #把解压后的文件软连接mysql,软连接mysql文件在/usr/local下面,或者重命名也可以
  3.  
  4. groupadd mysql #添加一个用户组
  5. useradd -r -g mysql -s /bin/false mysql #添加一个用户
  6. cd /usr/local #进入到文件夹
  7. cd mysql #进入到mysql,mysql为软连接
  8. mkdir data #新建一个data文件夹
  9. chown mysql:mysql data #data文件夹指定所属的用户和组,
  10. chmod data #为这个文件赋予权限
  11.  
  12. #创建日志目录,mariadb里配置的文件,没有mariadb则不需要
  13. mkdir /usr/local/mysql/logs
  14. chown -R mysql:mysql /usr/local/mysql/logs
  15. echo "" > /usr/local/mysql/logs/mysql.log
  16. chown -R mysql:mysql /usr/local/mysql/logs/mysql.log
  17. chmod 777 /usr/local/mysql/logs/mysql.log #给日志写权限
  18. [root@localhost mysql]# chown -R mysql . #改变当前文件夹所属用户,可以不设,单独设data的所属也可以
  19. [root@localhost mysql]# ll
  20. total
  21. drwxr-xr-x mysql root May : bin
  22. -rw-r--r-- mysql Mar : COPYING
  23. drwxr-x--- mysql mysql May : data
  24. drwxr-xr-x mysql root May : docs
  25. drwxr-xr-x mysql root May : include
  26. drwxr-xr-x mysql root May : lib
  27. drwxr-xr-x mysql root May : man
  28. -rw-r--r-- mysql Mar : README
  29. drwxr-xr-x mysql root May : share
  30. drwxr-xr-x mysql root May : support-files
  31.  
  32. [root@localhost mysql]# chgrp -R mysql . #改变当前文件夹所属组
  33. [root@localhost mysql]# ll
  34. total
  35. drwxr-xr-x mysql mysql May : bin
  36. -rw-r--r-- mysql mysql Mar : COPYING
  37. drwxr-x--- mysql mysql May : data
  38. drwxr-xr-x mysql mysql May : docs
  39. drwxr-xr-x mysql mysql May : include
  40. drwxr-xr-x mysql mysql May : lib
  41. drwxr-xr-x mysql mysql May : man
  42. -rw-r--r-- mysql mysql Mar : README
  43. drwxr-xr-x mysql mysql May : share
  44. drwxr-xr-x mysql mysql May : support-files

安装命令

配置,修改/etc/my.cnf文件,此文件作为初始化和启动时的参数,datadir默认为/var/lib/mysql,卸载mariadb后无此文件

  1. [mysqld]
  2. basedir=/usr/local/mysql #指定basedir,启动时就不用指定basedir了
  3. datadir=/usr/local/mysql/data #/var/lib/mysql
  4. socket=/usr/local/mysql/data/mysql.sock #/var/lib/mysql/mysql.sock
  5. port=
  6. character_set_server=utf8
  7. user=mysql
  8.  
  9. # Disabling symbolic-links is recommended to prevent assorted security risks
  10. symbolic-links=
  11. # Settings user and group are ignored when systemd is used.
  12. # If you need to run mysqld under a different user or group,
  13. # customize your systemd unit file for mariadb according to the
  14. # instructions in http://fedoraproject.org/wiki/Systemd
  15.  
  16. #客户端设置,即客户端默认的连接参数
  17. [client]
  18. #默认连接端口                
  19. port =
  20. #用于本地连接的socket套接字,这个不同于上面mysqld中的socket,如果这个不写执行mysql -uroot -p会报错
  21. socket = /usr/local/mysql/data/mysql.sock
  22. #编码
  23. default-character-set = utf8
  24.  
  25. [mysqld_safe]
  26. log-error=/usr/local/mysql/logs/mysql.log #log可以写在mysql新建的文件夹中,记得给mysql.log赋权限
    pid-file=/usr/local/mysql/data/mysql.pid #创建新建的data文件夹中,原始为/var/run/mariadb/mariadb.pid

其他配置:

SQL Error (1055) sql_mode=only_full_group_by问题

安装

  1. #初始化mysql,指定mysql的文件夹和data的文件夹,卸载mariadb后必须指定,basedir和basedata不指定默认用/etc/my.cnf文件里面的参数
  2. ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &
  3. ./bin/mysql_ssl_rsa_setup
  4. #启动mysql,卸载mariadb后必须指定,--user也可以写在配置文件里,相当于./bin/mysqld_safe --defaults-file=/etc/my.cnf
  5. ./bin/mysqld_safe --user=mysql &
  6. #将文件复制到服务中,具体看下面的将mysql设为服务
  7. cp support-files/mysql.server /etc/init.d/mysql.server

启动

有安装mariadb的话/etc/my.cnf文件中配置好的参数,实例化和启动可以不指定,没有/etc/my.cnf的话一定要指定.

执行启动语句后面加&是指在后台运行.

查看是否启动成功 ps -ef|grep mysql

更改密码

如果忘记临时密码把datadir目录下的文件删掉,重新初始化,一定要给logs/mysql.log写权限,不然密码写不进去,搜索password即可查看临时密码。

  1. ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &

./bin/mysql -u root -p -h 127.0.0.1     #进入的mysql的root用户,输入密码,即刚才的临时密码

set password for 'root'@'localhost' =password('123456');      #更改新密码

通过修改mysql表,批量修改所有root用户名的密码(包括远程账号的root)

登录mysql系统,
mysql -uroot -p
Enter password: 【输入原来的密码】
mysql>use mysql;
mysql> update user set password=passworD("123456") where user='root';
mysql> flush privileges;
mysql> exit;

关闭 

没有安装为服务时,使用此方法关闭mysql。

  1. /usr/local/mysql/bin/mysqladmin -u root -p shutdown #输入密码后关闭成功

连接中的会显示

Mysql设置为服务

  1. [root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #复制启动脚本到资源目录
  2. [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld #增加mysqld服务控制脚本执行权限
  3. [root@localhost mysql]# chkconfig --add mysqld #将mysqld服务加入系统服务
  4. [root@localhost mysql]# chkconfig --list mysqld #检查mysqld服务是否生效
  5.  
  6. Note: This output shows SysV services only and does not include native
  7. systemd services. SysV configuration data might be overridden by native
  8. systemd configuration.
  9.  
  10. If you want to list systemd services use 'systemctl list-unit-files'.
  11. To see services enabled on particular target use
  12. 'systemctl list-dependencies [target]'.
  13.  
  14. mysqld :off :off :on :on :on :on :off

配置好后可以使用service命令控制mysql的启动和停止,命令为:service mysqld startservice mysqld stop

如果出现command not found是因为没有安装在目录/usr/local下面,更改配置文件vi /etc/init.d/mysqld指定安装的mysql目录及data目录即可

设置远程主机登录

./bin/mysql -u root -p      #进入的mysql的root用户,输入密码

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

配置全局环境变量

编辑/etc/profile文件

# vi /etc/profile

在profile文件底部添加如下两行配置,保存后退出

PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

设置环境变量立即生效

# source /etc/profile

查看3306端口是否已开放

  1. # vi /etc/sysconfig/iptables
  2. -A INPUT -p tcp -m tcp --dport -j ACCEPT
  3.  
  4. # service iptables restart
  5.  
  6. Linux下开启/关闭防火墙命令
  7. #) 永久性生效,重启后不会复原
  8. #开启: chkconfig iptables on
  9. #关闭: chkconfig iptables off
  10.  
  11. #) 即时生效,重启后复原
  12. #开启: service iptables start
  13. #关闭: service iptables stop

问题

1.初始化mysql时报错

解决方法:

查看mysql配置文件: vi /etc/my.cnf,如果卸载mariadb,则cd到初始化时指定的--datadir目录

找到mysql的datadir,进入datadir: cd /var/lib/mysql,

删除所有文件: rm -rf *。然后再初始化即可

2.通过用mariadb的/etc/my.cnf文件,启动时报错Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’

打开/etc/my.cnf,查看是否是socket=/var/lib/mysql/mysql.sock,不是则改为它。并在终端输入以下命令。

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

卸载mariadb无配置文件

Mysql5.6问题

配置好my.ini

初始化数据库

执行初始化操作前一定要安装模块

yum -y install autoconf

初始化操作

./script/mysql_install_db --user=mysql --basedir=/usr/local/mysql5.6 --datadir=/usr/local/mysql5.6/data --pid-file=/usr/local/mysql5.6/data/mysql.pid

启动

./support-files/mysql.server start

更改密码

和mysql5.7不同的是5.6密码为空,直接登录。

update user set authentication_string=password('123456') where user='root';

问题

Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql5.6/data/ecs-3-0924974.novalocal.pid).

先查询my.ini配置的err-log配置错误日志,查询相关问题。

参考文章

参考文章

Mysql5.7-CentOS7安装的更多相关文章

  1. Centos7安装并配置mysql5.6完美教程

    Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...

  2. Centos7安装mysql-5.7.19

    Centos7安装Mysql 一 mysql下载 地址: https://dev.mysql.com/downloads/mysql/#downloads 二 在centos7上创建安装文件存放.解压 ...

  3. Centos7.3下mysql5.7.18安装并修改初始密码的方法

    Centos7.3下mysql5.7.18安装并修改初始密码的方法 原文链接:http://www.jb51.net/article/116032.htm 作者:Javen205 字体:[增加 减小] ...

  4. centos7环境下mysql5.7的安装与配置

    最近无事闲来折腾虚拟机,以前都是折腾云服务器,现在自己捣捣.看到mysql的教程蛮好的,准备做个笔记.原文来自mysql5.7的安装与配置(centos7环境) 第一步:下载mysql [root@M ...

  5. Centos7安装并配置mysql5.6

    1.下载安装包:https://pan.baidu.com/s/18xAumOggjm9bu9Wty6kYjg 2.卸载系统自带的Mariadb 2.1查询已安装的mariadb [root@loca ...

  6. Centos7 安装配置mysql5.6

    Centos7下完美安装并配置mysql5.6   Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想用mysql的人来说并不是一个好消息. 最近我搜罗了网上各种安装教程,各 ...

  7. Centos7 安装 MySQL5.7

    Centos7 安装 MySQL5.7 一.环境介绍 1.安装包版本介绍 MySQL 有三种安装方式:RPM安装.二进制包安装.源码包安装.我们这篇文章以二进制方式安装MySQL 软件名称 版本 系统 ...

  8. centos7安装mysql5.7.19及配置远程连接

    centos7安装mysql5.7.19及配置远程连接------https://blog.csdn.net/Lh19931122/article/details/77996213

  9. centos7环境下mysql5.7的安装与配置(免安装版)

    最近无事闲来折腾虚拟机,以前都是折腾云服务器,现在自己捣捣.看到mysql的教程蛮好的,准备做个笔记.原文来自mysql5.7的安装与配置(centos7环境) 第一步:下载mysql ? 1 [ro ...

  10. centos7下mysql5.7的安装与配置

    centos7下MySQL5.7的安装与配置 下载 下载地址 根据系统和版本选择红框中的四个RPM包下载即可,然后放到centos7系统中的/opt目录下,等待稍后安装. 安装前的准备 1. 检查系统 ...

随机推荐

  1. Spark2.0机器学习系列之3:决策树

    概述 分类决策树模型是一种描述对实例进行分类的树形结构. 决策树可以看为一个if-then规则集合,具有“互斥完备”性质 .决策树基本上都是 采用的是贪心(即非回溯)的算法,自顶向下递归分治构造. 生 ...

  2. Hibernate错误:Could not bind factory to JNDI

    使用hibernate时,将hibernate.cfg.xml中 <session-factory name="SessionFactory">的那么属性去掉即可.因为 ...

  3. vmware12 安装linux centos6

          内核选 2.6                                                                 中文安装选 基本系统 -> 基本, 兼 ...

  4. vue简单demo

    为了学习基础语法,我并没有用vue-cli脚手架来vue init [基于什么类型]  [项目名称]初始化项目,而是直接<script>../vue.js</script> & ...

  5. Java-线程池专题(什么是线程池,如何使用,为什么要用)

    1.什么是线程池:  java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池 多线程技术主要解决处理 ...

  6. Ubuntu 16.04 安装Postman

    Ubuntu 16.04 安装Postman: 1.官网下载地址:https://www.getpostman.com/根据机器类型选择64位下载. 2.进入下载目录,解压该文件sudo tar -x ...

  7. springboot 监控

    一.什么是spring-boot-starter-actuator(doc) springboot项目如何检查配置与运行状态呢?官方提供了一些接口可以查看springboot项目运行情况,只需要导入s ...

  8. 关于Task的认识

    首先来说说 Task.Factory.StartNew这种方式来创建Task,这里的WaitAll()指的是等待所有Task执行完成,并且里面的Task参数(t1,t2)是异步的,先以匿名委托方式 s ...

  9. Net_Prop 之 CTerrorPlayer 属性

    Sub-Class Table (1 Deep): DT_TerrorPlayer Sub-Class Table (2 Deep): DT_CSPlayer Sub-Class Table (3 D ...

  10. Java 设计模式六原则及23中常用设计模式

    一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接 ...