前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL 5.7安装最佳实践

MySQL 5.7安装最佳实践

作者头像
星哥玩云
发布2022-08-18 19:16:26
5420
发布2022-08-18 19:16:26
举报
文章被收录于专栏:开源部署开源部署

MySQL 5.7安装最佳实践

1、环境准备 OS: CentOS Linux release 7.4.1708 (Core) for VMware MySQL: mysql-5.7.24-linux-glibc2.12-x86_64

2、安装包准备,依赖检查 建议从官方下载,下载地址为:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

也可以在linux系统中用wget命令下载: [root@localhost ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz [root@localhost ~]# md5sum mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz [root@localhost ~]# mkdir /opt/mysql [root@localhost ~]# tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /opt/mysql/ [root@localhost ~]# cd /usr/local [root@localhost local]# ln -s /opt/mysql/mysql-5.7.24-linux-glibc2.12-x86_64/ mysql [root@localhost local]# ldd mysql/bin/mysqld linux-vdso.so.1 => (0x00007ffc633bd000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff8b795d000) libaio.so.1 => /lib64/libaio.so.1 (0x00007ff8b775b000) libnuma.so.1 => /lib64/libnuma.so.1 (0x00007ff8b754e000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007ff8b7317000) libdl.so.2 => /lib64/libdl.so.2 (0x00007ff8b7113000) librt.so.1 => /lib64/librt.so.1 (0x00007ff8b6f0a000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ff8b6c02000) libm.so.6 => /lib64/libm.so.6 (0x00007ff8b6900000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff8b66e9000) libc.so.6 => /lib64/libc.so.6 (0x00007ff8b6326000) /lib64/ld-linux-x86-64.so.2 (0x0000562f8aace000) libfreebl3.so => /lib64/libfreebl3.so (0x00007ff8b6123000) 说明:在 ldd 命令打印的结果中,“=>”左边的表示该程序需要连接的共享库之 so 名称,右边表示由 Linux 的共享库系统找到的对应的共享库在文件系统中的具体位置,“=>”右边有值就可以了。

3、建立用户,目录规划,my.cnf文件配置 [root@localhost local]# groupadd mysql [root@localhost local]# useradd -g mysql -d /usr/local/mysql -s /sbin/nologin -MN mysql [root@localhost local]# chown -R mysql:mysql mysql [root@localhost local]# mkdir -p /data/mysql/mysql3306/{data,tmp,logs} [root@localhost local]# chown -R mysql:mysql /data/ [root@localhost local]# vim /etc/my.cnf [client] port = 3306

[mysql] auto-rehash prompt="\\u@\\h [\\d]>" #pager="less -i -n -S" #tee=/opt/mysql/query.log

[mysqld] ####: for global user =mysql # mysql basedir =/usr/local/mysql/ # /usr/local/mysql/ datadir =/data/mysql/mysql3306/data # /usr/local/mysql/data server_id =1293306 # 0 port =3306 # 3306 character_set_server =utf8 # latin1 explicit_defaults_for_timestamp =off # off log_timestamps =system default_time_zone ='+8:00' # utc socket =/tmp/mysql3306.sock # /tmp/mysql.sock read_only = 1 # off super_read_only = 1 skip_name_resolve =off # 0 auto_increment_increment =1 # 1 auto_increment_offset =1 # 1 lower_case_table_names =1 # 0 secure_file_priv = /tmp/ # null open_files_limit =65536 # 1024 max_connections =1000 # 151 thread_cache_size =64 # 9 table_open_cache =81920 # 2000 table_definition_cache =4096 # 1400 table_open_cache_instances =64 # 16 max_prepared_stmt_count =1048576 #

####: for binlog binlog_format =row # row log_bin =/data/mysql/mysql3306/logs/mysql-bin # off binlog_rows_query_log_events =on # off log_slave_updates =on # off expire_logs_days =7 # 0 binlog_cache_size =65536 # 65536(64k) #binlog_checksum =none # CRC32 sync_binlog =1 # 1 slave-preserve-commit-order =ON #

####: for error-log log_error =error.log # /usr/local/mysql/data/localhost.localdomain.err

general_log =off # off general_log_file =general.log # hostname.log

####: for slow query log slow_query_log =on # off slow_query_log_file =slow.log # hostname.log #log_queries_not_using_indexes =on # off long_query_time =1.000000 # 10.000000

####: for gtid #gtid_executed_compression_period =1000 # 1000 gtid_mode =on # off enforce_gtid_consistency =on # off

####: for replication skip_slave_start =1 #

#master_info_repository =table # file #relay_log_info_repository =table # file slave_parallel_type =logical_clock # database | LOGICAL_CLOCK slave_parallel_workers =4 # 0 #rpl_semi_sync_master_enabled =1 # 0 #rpl_semi_sync_slave_enabled =1 # 0 #rpl_semi_sync_master_timeout =1000 # 1000(1 second) #plugin_load_add =semisync_master.so # #plugin_load_add =semisync_slave.so # binlog_group_commit_sync_delay =100 # 500(0.05%秒)、默认值0 binlog_group_commit_sync_no_delay_count = 10 # 0

####: for innodb innodb_data_file_path =ibdata1:100M:autoextend # ibdata1:12M:autoextend innodb_temp_data_file_path =ibtmp1:12M:autoextend # ibtmp1:12M:autoextend innodb_buffer_pool_filename =ib_buffer_pool # ib_buffer_pool innodb_log_group_home_dir =./ # ./ innodb_log_files_in_group =3 # 2 innodb_log_file_size =100M # 50331648(48M) innodb_file_per_table =on # on innodb_online_alter_log_max_size =128M # 134217728(128M) innodb_open_files =65535 # 2000 innodb_page_size =16k # 16384(16k) innodb_thread_concurrency =0 # 0 innodb_read_io_threads =4 # 4 innodb_write_io_threads =4 # 4 innodb_purge_threads =4 # 4(垃圾回收) innodb_page_cleaners =4 # 4(刷新lru脏页) innodb_print_all_deadlocks =on # off innodb_deadlock_detect =on # on innodb_lock_wait_timeout =20 # 50 innodb_spin_wait_delay =128 # 6 innodb_autoinc_lock_mode =2 # 1 innodb_io_capacity =200 # 200 innodb_io_capacity_max =2000 # 2000 #--------Persistent Optimizer Statistics innodb_stats_auto_recalc =on # on innodb_stats_persistent =on # on innodb_stats_persistent_sample_pages =20 # 20

innodb_change_buffer_max_size =25 # 25 innodb_flush_neighbors =1 # 1 #innodb_flush_method = # innodb_doublewrite =on # on innodb_log_buffer_size =128M # 16777216(16M) innodb_flush_log_at_timeout =1 # 1 innodb_flush_log_at_trx_commit =1 # 1 innodb_buffer_pool_size =100M # 134217728(128M) innodb_buffer_pool_instances =4 #--------innodb scan resistant innodb_old_blocks_pct =37 # 37 innodb_old_blocks_time =1000 # 1000 #--------innodb read ahead innodb_read_ahead_threshold =56 # 56 (0..64) innodb_random_read_ahead =OFF # OFF #--------innodb buffer pool state innodb_buffer_pool_dump_pct =25 # 25 innodb_buffer_pool_dump_at_shutdown =ON # ON innodb_buffer_pool_load_at_startup =ON # ON innodb_flush_method = O_DIRECT

4、初始化安装,error日志查看 [root@localhost ~]# /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize [root@localhost ~]# more /data/mysql/mysql3306/data/error.log 没有error就表示初始化完成了。

5、启动,error日志查看 [root@localhost ~]# /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf & [root@localhost ~]# more /data/mysql/mysql3306/data/error.log 没有error就表示初始化完成了。

6、配置环境变量,root密码修改,配置远程连接权限 [root@localhost ~]# echo export PATH=$PATH:/usr/local/mysql/bin >>/etc/profile [root@localhost ~]# source /etc/profile [root@localhost ~]# more /data/mysql/mysql3306/data/error.log |grep password 2018-12-28T09:56:30.709446+08:00 1 [Note] A temporary password is generated for root@localhost: K:5+d=MqRqlc root用户的临时密码为:K:5+d=MqRqlc

[root@localhost ~]# mysql -S /tmp/mysql3306.sock -p Enter password: 【这里输入上面的临时密码】 (unknown)@localhost [(none)]>set global super_read_only=0; set global read_only=0; (unknown)@localhost [(none)]>alter user user() identified by 'root'; Query OK, 0 rows affected (0.05 sec)

root@localhost [(none)]> 配置远程连接权限 略

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档