Centos7安装Mysql

一 mysql下载

地址: https://dev.mysql.com/downloads/mysql/#downloads

二 在centos7上创建安装文件存放、解压目录,上传文件并解压

创建目录:mkdir /usr/local/mysql
上传文件:(使用Xftp)...
解压文件:tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql/
修改文件名称:
cd /usr/local/mysql/
mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql

  

三 在mysql目录下创建data目录

当前目录:/usr/local/mysql
命令:cd mysql
创建文件的目录:/usr/local/mysql/mysql
命令:mkdir data  

  

四 创建用户及组

创建组:   groupadd mysql  
创建用户: useradd -r -g mysql mysql

 

五 将mysql及其下所有的目录所有者和组均设为mysql

命令:chown mysql:mysql -R .

  

六 初始化数据库

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

初始化成功之后会出现默认的root用户密码,如下图

七 创建修改my.cnf文件

这个版本和别的版本安装最大的区别就是别的版本在mysql/support-files下有my-default.cnf文件,别的版本只需要将my-default.cnf文件拷贝到/etc目录下即可,而这个版本需要自己创建my.cnf文件.

因此我们

vi /etc/my.cnf

把下面内容粘进去即可,标红的地方是需要注意的。 

(注):确保全部复制粘贴文件 

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
# 组
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
general_log_file = /var/log/mysql/mysql.log
general_log = 1
# These are commonly set, remove the # and set as required.
basedir =/usr/local/mysql/mysql
datadir =/usr/local/mysql/mysql/data
port = 3306
#server_id = .....
socket =/usr/local/mysql/mysql/tmp/mysql.sock
#kip-external-locking
skip-name-resolve
pid-file=/usr/local/mysql/mysql/data/mysql.pid
character_set_server=utf8
init_connect='SET NAMES utf8'
log-error=/usr/local/mysql/mysql/data/mysqld.err
slow_query_log = 1
slow_query_log_file =/usr/local/mysql/mysql/data/slow-query.log
long_query_time = 1
log-queries-not-using-indexes
max_connections = 1024
back_log = 128
wait_timeout = 100
interactive_timeout = 200
key_buffer_size=256M
query_cache_size = 256M
query_cache_type=1
query_cache_limit=50M
max_connect_errors=20
sort_buffer_size = 2M
max_allowed_packet=16M
join_buffer_size=2M
thread_cache_size=200
innodb_buffer_pool_size = 2048M
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size=32M
innodb_log_file_size=128M
innodb_log_files_in_group=3
server_id=1
log-bin=mysql-bin
binlog_cache_size=2M
max_binlog_cache_size=8M
max_binlog_size=512M
expire_logs_days=7
read_buffer_size=1M
read_rnd_buffer_size=16M
bulk_insert_buffer_size=64M # Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

八 创建tmp目录

mkdir /usr/local/mysql/mysql/tmp

九 启动mysql

命令:cd  /usr/local/mysql/mysql/bin
命令:./mysqld_safe &

  

十 登录数据库,密码为第六步生成的默认密码

./mysql -u root -p

十一 操作数据库时报错

mysql> use mysql
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

在没有进行修改默认密码之前,是不允许做任何事情的。

解决方案:

SET PASSWORD = PASSWORD('123456');

十二 错误处理以及使用SQLyog连接数据库

1 未关闭防火墙有可能造成数据库不能连接

(注):centos7

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

2(日志data/mysqld.err) mysqld: File '/var/log/mysql/mysql.log' not found (Errcode: 2 - No such file or directory)

解决方案:

查看是否有/var/log/mysql这个目录,没有的话创建

mkdir /var/log/mysql

目录:/var/log下执行权限修改命令

chown mysql:mysql -R .

3(日志data/mysqld.err)Could not create unix socket lock file /usr/local/mysql/mysql/tmp/mysql.sock.lock.

解决方案:

cd /usr/local/mysql/mysql/tmp/
chown -R mysql:mysql /usr/local/mysql/mysql/tmp/

4 (日志data/mysqld.err)Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决方案:(创建软连接)

ln -s /usr/local/mysql/mysql/tmp/mysql.sock /tmp/mysql.sock

5 host"***.***.*.***" is not allowed to connect mysql--------mysql"Access denied for user'root'@'IP地址'"

解决方案:(注*用户名密码)

登录mysql给root用户授权

GRANT ALL PRIVILEGES ON *.* TO 'ROOT'@'%' IDENTIFIED BY '' WITH GRANT OPTION;

十三 关闭mysql数据库

ps -A|grep mysql
kill -9 进程号
kill -9 进程号

 

  

   

Centos7安装mysql-5.7.19的更多相关文章

  1. CentOS7安装mysql提示“No package mysql-server available.”

    针对centos7安装mysql,提示"No package mysql-server available."错误,解决方法如下: Centos 7 comes with Mari ...

  2. [CentOs7]安装mysql(2)

    摘要 之前安装过一次mysql,最后配置,发现在本地无法连接,重启服务的时候一直卡在那里不动,感觉是安装的过程出问题,最后没办法还是卸载了,然后重新安装一下. [CentOs7]安装mysql Mys ...

  3. centos7安装mysql

    centos7安装mysql 1 查找系统是否安装了myql rpm -q mysql mysql-server1.1如果安装了.就删除 sudo yum -y remove mysql mysql- ...

  4. centos7安装mysql(yum)

    centos7安装mysql(yum) ----安装环境----依赖安装----检查mysql是否已安装----安装----验证是否添加成功----选择要启用的mysql版本----通过Yum安装my ...

  5. CentOS7安装MySQL的方法之通用二进制格式

      CentOS7安装MySQL的方法之通用二进制格式          

  6. CentOS7安装MySQL的方法之RPM包方式

        CentOS7安装MySQL的方法之RPM包方式        

  7. centos7安装Mysql爬坑记录

    centos7安装Mysql爬坑记录   查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装 ...

  8. Centos7 安装mysql服务器并开启远程访问功能

    大二的暑假,波波老师送了一个华为云的服务器给我作测试用,这是我程序员生涯里第一次以root身份拥有一台真实的云服务器 而之前学习的linux知识在这时也派上了用场,自己的物理机用的是ubuntu系统, ...

  9. [CentOS7]安装mysql遇到的问题

    摘要 在安装mysql的时候,遇到了一些问题,这里列出所遇到的问题. yum list mysql-server 在使用命令yum list mysql-server安装mysql的时候,遇到如图所示 ...

  10. CentOS7安装mysql数据库

    安装完Centos7,迫不急待的想安装mysql数据库,却没想到走了很多弯路,后来经过查资料,才知道了在Centos7中用MariaDB代替了mysql数据库. 准确来说,本文的标题有点误导的意思,本 ...

随机推荐

  1. CentOS7下使用YUM安装mariadb10

    1:由于centos7 默认使用yum安装MySQL的话就会安装mariadb,只是安装的版本停留在mariadb5.x,版本比较低.如果我们需要安装mariadb10这里就需要删除mariadb-l ...

  2. JavaScript一个生成文档目录的实例

    执行结果: <body> <script type="text/javascript"> /** * 这个模块注册一个可在页面加载完成后自动运行的匿名函数, ...

  3. Oracle之plsql快速入门

    打开系统输出 set serveroutput on; 只需要打开一次**书写格式 以斜杠/号 结束(基本结构) --declare --语句后面必须以;号结束 declare --用来区分变量名和表 ...

  4. Maven基础

    Maven基础 maven核心内容:依赖管理. Maven是Apache组织的开源项目,是项目构建工具.用来管理jar包之间的相互依赖关系 Maven是一个项目构建和管理的工具,提供了帮助管理,构建, ...

  5. Java 基本语法----变量

    变 量 变量的概念 内存中的一个存储区域该区域有自己的名称(变量名)和类型(数据类型)Java中每个变量必须先声明,后使用该区域的数据可以在同一类型范围内不断变化 定义变量的格式:数据类型 变量名 = ...

  6. sleep() 和 wait() 有什么区别?

    sleep()方法是使线程停止一段时间的方法.在sleep 时间间隔期满后,线程不一定立即恢复执行.这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非"醒来"的 ...

  7. 线程池与Threadlocal

    线程池与Threadlocal 线程池: 线程池是为了使线程能够得到循环的利用,线程池里面养着一些线程,有任务需要使用线程的时候就往线程池里抓线程对象出来使用.线程池里的线程能够重复使用,所以在资源上 ...

  8. Java之戳中痛点 - (6)避免类型自动转换,例如两个整数相除得浮点数遇坑

    先来看一个例子: package com.test; public class calculate { /** * 光速30万公里/秒 */ public static final int LIGHT ...

  9. ibatis 参数和结果的映射处理

    SqlMapClient对象 这个对象是iBatis操作数据库的接口(执行CRUD等操作),它也可以执行事务管理等操作.这个类是我们使用iBATIS的最主要的类.它是线程安全的.通常,将它定义为单例. ...

  10. (转)递归算法的时间复杂度终结篇与Master method

    开篇前言:为什么写这篇文章?笔者目前在学习各种各样的算法,在这个过程中,频繁地碰到到递归思想和分治思想,惊讶于这两种的思想的伟大与奇妙的同时,经常要面对的一个问题就是,对于一个给定的递归算法或者用分治 ...