• Mysql 编译安装 version 5.7.13


    参考地址:http://www.manongjc.com/article/91110.html

    1.卸载系统自带boots库

    1  [root@localhost]  #yum -y remove boost-* 

    2.卸载系统自带的mysql and mariadb

    1  [root@localhost] #yum -y remove mysql
    2  rpm -qa|grep mariadb ###centos7 自带部分数据库信息
    3  yum remove mariadb-libs -y ###移除自带数据库

    3.安装必要的资源依赖包 

    1 [root@localhost] #yum install  cmake,make,gcc,gcc-c++,bison, ncurses,ncurses-devel  -y

    4.安装boost 库1.59和mysql包

    [root@localhost] wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
     [root@localhost] wget  http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz

    5.对boots包和mysql包进行解压到对应的目录下

    1  [root@localhost] tar zxf  boost_1_59_0.tar.gz  -C /usr/local/  
    2  [root@localhost] tar zxf mysql-5.7.13.tar.gz -C /opt/ 

    6.解压完成后创建用户及其相关目录

    1 groupadd mysql                       #mysql用户组
    2  useradd -r -g mysql -s /sbin/nologin  mysql    #添加mysql用户
    3  mkdir /data/mysql                    #创建数据目录
    4  chown  -R  mysql:mysql /data/mysql/   #修改数据目录为mysql
    5  chown  -R  mysql:mysql /home/mysql/

    7. 配置mysql预编译参数

     
     1 [root@localhost] # cd mysql-5.7.13
     2  [root@localhostmysql-5.7.13]# cmake -DCMAKE_INSTALL_PREFIX=/home/mysql 
     3  -DMYSQL_DATADIR=/home/mysql/                   #数据存放目录
     4  -DDEFAULT_CHARSET=utf8  
     5  -DDEFAULT_COLLATION=utf8_general_ci 
     6  -DMYSQL_TCP_PORT=3306 
     7  -DMYSQL_USER=mysql 
     8  -DWITH_INNOBASE_STORAGE_ENGINE=1 
     9  -DWITH_MYISAM_STORAGE_ENGINE=1 
    10  -DWITH_ARCHIVE_STORAGE_ENGINE=1 
    11  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    12  -DWITH_MEMPRY_STORAGE_ENGINE=1 
    13  -DDOWNLOAD_BOOST=1 
    14  -DWITH_BOOST=/usr/local/boost                        #boost源码路径
    15 16 17  #配置解释
    18  官方 工具选项解析
    19 20  -DCMAKE_INSTALL_PREFIX=/usr/local/es/mysql57/  #安装目录
    21  -DMYSQL_UNIX_ADDR=/tmp/mysql.sock  服务器侦听套接字连接的Unix套接字文件路径,默认/tmp/mysql.sock。 这个值可以在服务器启动时用–socket选项来设置。所以这条可以去掉
    22  -DMYSQL_DATADIR=/data/mysql  MySQL数据目录的位置。 该值可以在服务器启动时使用–datadir选项进行设置。
    23  -DSYSCONFDIR=/etc  默认的my.cnf选项文件目录。 此位置不能在服务器启动时设置,但可以使用–defaults-file = file_name选项使用给定的选项文件启动服务器,其中file_name是该文件的完整路径名。
    24  -DMYSQL_USER=mysql  指定用户名
    25  -DMYSQL_TCP_PORT=3306  服务器侦听TCP / IP连接的端口号。默认值是3306。 该值可以在服务器启动时使用–port选项进行设置。
    26  -DWITH_XTRADB_STORAGE_ENGINE=1  储存引擎 XTRADB
    27  -DWITH_INNOBASE_STORAGE_ENGINE=1  储存引擎 INNOBASE
    28  -DWITH_PARTITION_STORAGE_ENGINE=1 储存引擎 PARTITION
    29  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 储存引擎 BLACKHOLE
    30  -DWITH_MYISAM_STORAGE_ENGINE=1  储存引擎 MYISAM
    31  -DWITH_READLINE=1 
    32  -DENABLED_LOCAL_INFILE=1  该选项控制MySQL客户端库的已编译默认LOCAL功能???啥意思
    33  -DWITH_EXTRA_CHARSETS=1  这个为什么是1,文档不是name ,字符串吗? 要包含哪些额外的字符集: all complex none
    34  -DDEFAULT_CHARSET=utf8  服务器字符集。默认情况下,MySQL使用latin1(cp1252西欧)字符集。 该值可以在服务器启动时使用–character_set_server选项进行设置。
    35  -DDEFAULT_COLLATION=utf8_general_ci  服务器整理。默认情况下,MySQL使用latin1_swedish_ci。该值可以在服务器启动时使用–character_set_server选项进行设置。
    36  -DEXTRA_CHARSETS=all 
    37  -DWITH_BIG_TABLES=1 
    38  -DWITH_DEBUG=0 是否包含调试支持。
    39  -DWITH_BOOST=/usr/local/boost    #把定boost 目录

    8.编译并安装

    1 [root@localhostmysql-5.7.13]# make -j  (-j参数是加快编译速度)
    2  [root@localhostmysql-5.7.13]# make install

    9.配置环境变量

    1 cd /home/mysql/
    2  cp  support-files/mysql.server   /etc/init.d/mysqld  //复制启动项
    3 4  echo 'export PATH=$PATH:/opt/mysql/bin' >>/etc/profile ###设置环境变量
    5  source /etc/profile ###立即执行
    6  mysql -V    
    7  [root@shell /home/mysql20:46:55]# mysql -V
    8  mysql  Ver 14.14 Distrib 5.7.13, for Linux (x86_64) using  EditLine wrapper

    10.初始化系统数据库

     mysqld --initialize-insecure --user=mysql --basedir=/homw/mysql --datadir=/data/mysql
      可能出现报错 说/data目录有数据
      执行
      rm -rf /data/mysql/*
      再次执行初始化命令 

    11.配置文件及参数优化

     
     1 [root@localhostmysql-5.7.13]# cp /home/mysql/support-files/my-default.cnf  /etc/my.cof  //复制配置文件
     2  #参考如下配置档
     3  [root@shell ~20:55:34]# cat /etc/my.cof |grep  -Ev "#^|^$"
     4  [mysqld]
     5  port=3306
     6  user=mysql
     7  basedir=/home/mysql
     8  datadir=/data/mysql
     9  socket=/tmp/mysql.sock
    10  [mysql]
    11  socket=/tmp/mysql.sock 
    12 13  # vim /etc/my.conf    参考
    14  [client]
    15  port = 3306
    16  socket = /tmp/mysql.sock
    17  [mysqld]
    18  port  = 3306
    19  socket = /tmp/mysql.sock
    20  user = mysql
    21  basedir = /usr/local/mysql
    22  datadir = /data/mysql/data
    23  pid-file = /data/mysql/mysql.pid
    24 25  log_error = /data/mysql/mysql-error.log
    26  slow_query_log = 1
    27  long_query_time = 1
    28  slow_query_log_file = /data/mysql/mysql-slow.log
    29 30 31  skip-external-locking
    32  key_buffer_size = 32M
    33  max_allowed_packet = 1024M
    34  table_open_cache = 128
    35  sort_buffer_size = 768K
    36  net_buffer_length = 8K
    37  read_buffer_size = 768K
    38  read_rnd_buffer_size = 512K
    39  myisam_sort_buffer_size = 8M
    40  thread_cache_size = 16
    41  query_cache_size = 16M
    42  tmp_table_size = 32M
    43  performance_schema_max_table_instances = 1000
    44 45  explicit_defaults_for_timestamp = true
    46  #skip-networking
    47  max_connections = 500
    48  max_connect_errors = 100
    49  open_files_limit = 65535
    50 51  log_bin=mysql-bin
    52  binlog_format=mixed
    53  server_id   = 232
    54  expire_logs_days = 10
    55  early-plugin-load = ""
    56 57  default_storage_engine = InnoDB
    58  innodb_file_per_table = 1
    59  innodb_buffer_pool_size = 128M
    60  innodb_log_file_size = 32M
    61  innodb_log_buffer_size = 8M
    62  innodb_flush_log_at_trx_commit = 1
    63  innodb_lock_wait_timeout = 50
    64 65  [mysqldump]
    66  quick
    67  max_allowed_packet = 16M
    68 69  [mysql]
    70  no-auto-rehash
    71 72  [myisamchk]
    73  key_buffer_size = 32M
    74  sort_buffer_size = 768K
    75  read_buffer = 2M
    76  write_buffer = 2M

    12.修改mysql密码 

     1 #初始化出现报错:
     2  2021-10-16T12:25:04.276507Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root
     3  4  #处理方法:
     5  修改密码:
     6  mysqld_safe --skip-grant-tables --user=mysql 执行后会夯住,另开起一个窗口,输入mysql+回车即可登录Mysql
     7  8  mysql>alter user 'root'@'localhost' identified by '123456';
     9  Query OK, 0 rows affected (0.00 sec)
    10  flush privileges;
    11  mysql> exit;

    13.安装成功 及启动

    1 cp  /home/mysql/support-files/mysql.server   /etc/init.d/mysqld  //复制启动项
    2  [root@localhost mysql]# service mysqld start  //启动mysql
    3  /etc/init.d/mysqld start   启动Mysql
    4  netstat -lntup |grep 3306  查看mysql 是否启动
    Do everything well
  • 相关阅读:
    生成器函数
    初识函数
    格式化输出
    流程控制-while循环
    流程控制if语句
    Python入门
    Eclipse搭建C++开发环境
    Android SQLite基本用法
    Android拍照后更新相册
    操作系统相册和获取相册路径
  • 原文地址:https://www.cnblogs.com/linuxmysql/p/15506210.html
Copyright © 2020-2023  润新知