设为首页 收藏本站
查看: 750|回复: 0

[经验分享] CentOS6.9编译安装MySQL5.7.16-LINUX

[复制链接]

尚未签到

发表于 2018-10-9 10:44:13 | 显示全部楼层 |阅读模式
  CentOS6.9编译安装MySQL5.7.16
  部署环境:
  系统CentOS6.9,mysql5.7.16,boost库
  系统为2G内存
  1、安装依赖包,使用yum安装cmake,6.9默认yum源自带
  yum -y install gcc-c++ cmake bison-devel ncurses-devel
  2、创建mysql的用户:
  useradd  -U -s /sbin/nologin mysql
  3、创建必要的文件夹,并修改其目录用户所有者:
  mkdir -pv /usr/local/mysql/etc
  mkdir -pv /data/{boost/boost_1_59_0,mysql/{data,log}}
  chown -R mysql:mysql /usr/local/mysql/
  chown -R mysql:mysql /data/mysql/
  4、将boots库拷贝到boost目录下
  cp /tmp/boost/boost_1_59_0/* /data/boost/boost_1_59_0
  chown -R mysql:mysql /data/boost/
  5、编译安装mysql5.7
  cd /tmp
  tar xf mysql-5.7.16.tar.gz
  cd mysql-5.7.16
  cmake \
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  -DMYSQL_DATADIR=/data/mysql/data \
  -DSYSCONFDIR=/usr/local/mysql/etc \
  -DWITH_MYISAM_STORAGE_ENGINE=1 \
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_MEMORY_STORAGE_ENGINE=1 \
  -DWITH_READLINE=1 \
  -DMYSQL_UNIX_ADDR=/data/mysql/log/mysql.sock \
  -DMYSQL_TCP_PORT=3306 \
  -DENABLED_LOCAL_INFILE=1 \
  -DWITH_PARTITION_STORAGE_ENGINE=1 \
  -DEXTRA_CHARSETS=all \
  -DDEFAULT_CHARSET=utf8 \
  -DDEFAULT_COLLATION=utf8_general_ci \
  -DWITH_BOOST=/data/boost/boost_1_59_0
  make && make install
  时间比较长
  chown -R mysql:mysql /usr/local/mysql
  6、配置文件my.cnf
  [client]
  port    = 3306
  socket  = /data/mysql/log/mysql.sock
  [mysql]
  default-character-set = utf8
  [mysqld]
  # file
  datadir =/data/mysql/data
  basedir = /usr/local/mysql
  pid-file =/data/mysql/log/mysqld.pid
  log_error = /data/mysql/log/mysql.err
  port = 3306
  socket=/data/mysql/mysql.sock
  user=mysql
  character_set_server = utf8
  character_set_server = utf8
  slow_query_log = 1
  slow_query_log_file = /data/mysql/log/slowq.log
  long_query_time = 1
  log-bin=/data/mysql/log/mysql-bin.log
  # temp
  max_tmp_tables = 64
  tmp_table_size = 512M
  slave_load_tmpdir = /data/mysql/log
  tmpdir = /data/mysql/log
  # session
  back_log = 512
  skip-name-resolve
  max_allowed_packet = 32M
  max_connections = 16000
  max_connect_errors = 10000
  wait_timeout = 28800
  table_open_cache = 216
  thread_cache_size = 128
  query_cache_type = 0
  query_cache_size = 0
  key_buffer_size = 128M
  myisam_sort_buffer_size = 16M
  read_buffer_size = 16M
  read_rnd_buffer_size = 16M
  sort_buffer_size = 16M
  join_buffer_size = 16M
  # innodb
  default_storage_engine = InnoDB
  innodb_data_home_dir = /data/mysql/data
  innodb_data_file_path = ibdata1:256M:autoextend
  innodb_log_group_home_dir = /data/mysql/log
  innodb_log_files_in_group = 4
  innodb_log_file_size = 256M
  innodb_log_buffer_size = 8M
  innodb_flush_log_at_trx_commit = 2
  innodb_flush_method = O_DIRECT
  innodb_lock_wait_timeout = 50
  #innodb_thread_concurrency = 24 16
  innodb_buffer_pool_size = 1G
  innodb_io_capacity = 1500
  innodb_use_native_aio = 1
  innodb_file_per_table = 1
  innodb_open_files = 3000
  # others
  memlock = 1
  performance_schema = 0
  # replication
  server-id = 150
  binlog_format = row
  expire_logs_days = 7

  >  #replicate_ignore_db = mysql
  #slave_skip_errors = 1062
  log_slave_updates = 1
  skip-slave-start
  read_only = 0
  sync_binlog = 1
  [mysqldump]
  default-character-set = utf8
  [mysqld-5.7]
  innodb_buffer_pool_dump_pct = 40
  innodb_undo_log_truncate = 1
  innodb_undo_tablespaces = 3
  innodb_max_undo_log_size = 1G
  innodb_purge_rseg_truncate_frequency = 128
  binlog_gtid_simple_recovery=1
  log_timestamps=system
  show_compatibility_56=on
  sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
  7、初始化数据库
  版本在5.7.6前用的是mysql_install_db
  版本5.7.6之后使用的mysqld --initialize
  #####################官网标注#####################################
  shell> bin/mysql_install_db --user=mysql    # MySQL 5.7.5
  shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
  shell> bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and up
  #####################官网标注#####################################
  /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/data/mysql/data --basedir=/usr/local/mysql
  可能会出现内存不够的报错,自己优化下调节一下buffer大小就行了
  /usr/local/mysql/bin/mysql_ssl_rsa_setup
  没有打印日志,临时密码不能用,只好破解了,后面有方法。
  8、启动数据库
  vim /usr/local/mysql/support-files/mysql.server
  加上绝对路径
  basedir=/usr/local/mysql
  datadir=/data/mysql/data
  cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  service mysqld start
  9、配置环境变量
  vim /etc/profile
  export PATH=/usr/local/mysql/bin:$PATH
  source /etc/profile
  10、查看mysql临时密码,这项我这不用了,不好使,直接破解了。
  cat /root/.mysql_secret
  mysql -uroot -p`cat /root/.mysql_secret`
  如果能进去,基本上到这就截止了,可以正常使用了。
  **不能正常登录,使用临时密码无法登进去**
  11、破解密码
  mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf --skip-grant-tables --skip-networking&
  update mysql.user set authentication_string=password('123456') where user='root';
  11.1、查找进程号,杀掉mysql进程
  ps aux | grep mysql
  kill -9 pid
  service mysqld start
  11.2、登录mysql
  mysql -u root -p 'password'
  提示修改密码:

  mysql>>  ok了


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-619492-1-1.html 上篇帖子: MySQL之账号管理 下篇帖子: MySQL View-Memos
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表