mysql-5.7-安装、配置

文章目录

  • 前言
  • 说明
  • 环境配置
  • 源码安装
    • 目录划分
    • 编译失败
    • 编译参数
    • 编译安装
    • 启动配置
    • 登录
  • 设置
  • 二进制
  • 命令
  • 参考

前言

  • 需要注意的,这个笔记是我从为知上copy下来的,创建时间为2019年7月

说明

  • mysql安装分三种版本

  • rpm 安装版,安装

    • 源码版,需要进行安装进行一些配置
    • 二进制,需要进行二进制

    mysql-5.7-安装、配置_第1张图片

环境配置

  • 环境安装
  yum -y install git
  yum -y install cmake
  yum -y install gcc
  yum -y install gcc-c++
  yum -y install bison
  yum -y install ncurses
  yum -y install ncurses-devel
  • mysql5.7.5开始 Boost 库是必需的
  #下载
  wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
  #解压文件
  tar -xzvf mysql-5.7.21.tar.gz
 
  #下载boost
  wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
  #解压
  tar -zxvf boost_1_59_0.tar.gz
  #移动文件
  mv boost_1_59_0 /usr/local/

源码安装

  • mysql5.7.18

  • mysql5.7.13

  • mysql5.6.29

  • mysql5.6.35

  • 查看是否安装rpm -qa | grep mysql

  • 卸载rpm -e --nodeps 对应的Mysql的版本号

  • 安装

  mysql.tar 包上传到Linux
  #在Linux服务器上安装MySql,通常将软件安装到
  /usr/local/{fiel_name}
  #解压文件
  tar -xvf  {file_name}.tar -C /usr/local/mysql

目录划分

  • 按照公司、个人喜好,配置目录

  • mysql 服务不具备目录的写入权限,所以在建设目录的时候要赋予该目录权限!!!

  mysql 软件目录: /dat/mysql/installdir
  mysql 数据目录:/dat/mysql/date/
  mysql 日志目录:/dat/mysql/logs/
  赋予目录权限: chown -R mysql:mysql mysql/

编译失败

  • 重新编译
  cd 源码目录
  cmake -L
  rm -rf CMakeCache.txt
  make clean

编译参数

  • 参数说明
  cmake . \
  -DCMAKE_INSTALL_PREFIX=/dat/mysql \
  -DMYSQL_DATADIR=/dat/mysql/data \
  -DWITH_BOOST=/dat/boost_1_59_0 \
  -DSYSCONFDIR=/etc \
  -DEXTRA_CHARSETS=all\
  -DDEFAULT_CHARSET=utf8mb4\
  -DDEFAULT_COLLATION=utf8_general_ci\
  -DENABLED_LOCAL_INFILE=1 \
  -DWITH_MYISAM_STORAGE_ENGINE=1 \
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  -DWITH_DEBUG=0
  • 配置说明
  -DCMAKE_INSTALL_PREFIX=\   #安装目录
  -DMYSQL_DATADIR=\ #数据目录
  -DWITH_BOOST=/dat/boost \ #boost目录
  -DMYSQL_TCP_PORT=\ #连接端口号(默认:3306)
  -DSYSCONFDIR=\ #默认my.cnf选项文件目录
  -DDEFAULT_CHARSET=\ #mysql字符集
  -DDEFAULT_COLLATION=\ #mysql排序字符集
  -DEXTRA_CHARSETS=all\  #安装所有扩展字符集
  -DWITH_MYISAM_STORAGE_ENGINE=1\
  -DWITH_INNOBASE_STORAGE_ENGINE=1\
  -DWITH_ARCHIVE_STORAGE_ENGINE=1\
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1\
  -DENABLED_LOCAL_INFILE=1\  #启用本地数据导入支持
  -DWITH_DEBUG=0\ #是否启用DBU

编译安装

  • 在目录里面执行
  make #编译
  make install #安装
  • vim /etc/my.cnf参数文件及参数优化
  [mysqld]
  socket=/var/lib/mysql/mysql.sock         #如果没有改目录,需要创建,并且赋予权限
  symbolic-links=0
  character-set-server = utf8              #指定server端字符集
  collation-server = utf8_general_ci
  explicit_defaults_for_timestamp=true    # 解决问题:TIMESTAMP with implicit DEFAULT value is deprecated
  log_error = /dat/mysql/logs/error.log     # 如果没有改目录需要创建,并且赋予权限
  basedir=/dat/mysql                        # mysql程序安装目录.跟预编译的一致
  datadir=/dat/mysql/data                    # mysql数据文件目录,跟预编译的一致
  server_id=58
  [mysqld_safe]
  log-error=/dat/mysql/logs/mariadb.log #如果没有改目录需要创建,并且赋予权限
  pid-file=/dat/mysql/logs/mariadb.pid #如果没有改目录需要创建,并且赋予权限
  • 修改vim /etc/my.cnf.d/mysql-clients.cnf
 
  ## 在配置文件中添加“[client]”选项和“[mysql]”选项选项
  ## 并使用这两个选项下的“socket”参数值,与“[mysqld]”选项下的“socket”参数值,指向的socket文件路径完全一致一致
  ## 解决问题: connect to local MySQL server through socket /var/lib/mysql/mysql.sock
  [client]
  default-character-set=utf8
  socket=/var/lib/mysql/mysql.sock
  [mysql]
  default-character-set=utf8
  socket=/var/lib/mysql/mysql.sock
  [mysql_upgrade]
 
  [mysqladmin]
 
  [mysqlbinlog]
 
  [mysqlcheck]
 
  [mysqldump]
 
  [mysqlimport]
 
  [mysqlshow]
 
  [mysqlslap]

启动配置

  • cd /dat/mysql/bin/
  #执行该命令
  ./mysqld
  --initialize
  --basedir=/dat/mysql
  --datadir=/dat/mysql/data
  # 不生成root密码
  • 启动并且安装成服务
  # mysql加入系统服务
  cd /usr/local/mysql/support-files/
  cp mysql.server /etc/init.d/mysql
  chkconfig --add mysql # mysql加入系统服务
  chkconf ig mysql on # 开机启动
  service mysql start #启动
  • 添加到环境变量中
  #修改环境变量配置文件
   vim /etc/profile
  #在最后面加上改行
   export PATH=/mysql安装主目录/bin:$PATH
  #刷新配置文件
   source /etc/profile

登录

mysql -u=用户名 -host=ip地址 -p=密码
mysql -u=用户名  -p=密码

设置

  • 设置端口号,注意需要先开启防火墙
  • 设置完成之后要关闭防火墙
   firewall-cmd --add-port=3306/tcp --permanent
   firewall-cmd --reload
   firewall-cmd --list-ports
  • 修改mysql鉴定

二进制

可参考:博客、博客

命令

  • 查看状态
   service mysql status
   service mysqld start
   service mysqld  stop

参考

https://blog.csdn.net/u013887008/article/details/79115183

你可能感兴趣的:(mysql,数据库)