ARM架构安装MySQL8.0
1. 配置网络[可忽略,若网络不通则配置]
[root@root /]# cd /etc/sysconfig/network-scripts [root@root network-scripts]# vi ifcfg-enp4s0 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp4s0 UUID=7354f92a-b795-42f8-888f-d0a499d1e363 DEVICE=enp4s0 ONBOOT=yes IPADDR=192.168.31.71 PREFIX=24 GATEWAY=192.168.31.1 #新增DNS DNS1=8.8.8.8 DNS2=114.114.114.114 #执行命令重启网络 [root@root network-scripts]# sudo systemctl restart NetworkManager [root@root network-scripts]# ping www.baidu.com PING www.a.shifen.com (39.156.70.239) 56(84) 字节的数据。 64 字节,来自 39.156.70.239 (39.156.70.239): icmp_seq=1 ttl=50 时间=62.0 毫秒 64 字节,来自 39.156.70.239 (39.156.70.239): icmp_seq=2 ttl=50 时间=61.7 毫秒 配置senlince[MySql安装需配置] [root@root /]# vi /etc/sysconfig/selinux SELINUX=disabled
2. 设置临时senlince, 若要永久生效则reboot
[root@root /]# setenforce 0 [root@root ~]# getenforce Disabled # 配置最大文件数[MySql默认10000] # 配置全局mysql软硬件最大打开文件数 [root@root ~]# vi /etc/security/limits.conf mysql soft nofile 65535 mysql hard nofile 65535 # End of file # 查看MySQL进程当前限制 [root@root logs]# cat /proc/$(pgrep mysqld)/limits | grep 'Max open files' Max open files 10000 10000 files # 查看系统全局限制[配置重启生效] [root@root logs]# ulimit -n # 查看mysql用户文件数配置 [root@root ~]# sudo -u mysql ulimit -n [root@root ~]# mkdir -p /etc/systemd/system/mysqld.service.d/ # 新建限制配置文件 [root@root ~]# vim /etc/systemd/system/mysqld.service.d/limits.conf # 添加以下内容 [Service] LimitNOFILE=65535 # 修改内核参数 # 临时提高系统全局限制 [root@root ~]# sudo sysctl -w fs.file-max=65535 # 永久生效(编辑 /etc/sysctl.conf) [root@root ~]# echo "fs.file-max=65535" | sudo tee -a /etc/sysctl.conf [root@root ~]# sudo sysctl -p # 重新加载 systemd 配置 [root@root ~]# systemctl daemon-reload # 再次验证新限制 [root@root ~]# cat /proc/$(pgrep mysqld)/limits | grep 'Max open files'
3. 基于ARM架构安装Mysql
[root@root home]# mkdir -p sqyr/local/software [root@root home]# cd sqyr/local/software [root@root software]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.40-1.el8.aarch64.rpm-bundle.tar [root@root local]# cd local [root@root local]# mkdir mysql-8.0.40 [root@root mysql-8.0.40]# cp /home/sqyr/local/software/mysql-8.0.40-1.el8.aarch64.rpm-bundle.tar /home/sqyr/local/mysql-8.0.40/ #在安装之前更新yum资源 [root@root mysql-8.0.40]# yum clean all [root@root mysql-8.0.40]# yum makecache [root@root mysql-8.0.40]# yum update #安装mysql8.0.40依赖库 [root@root mysql-8.0.40]# yum install gcc net-tools pcre-devel zlib zlib-devel openssl openssl-devel libaio* [root@root mysql-8.0.40]# sudo dnf install -y libaio numactl openssl perl [root@root mysql-8.0.40]# yum install -y perl-Module-Install.noarch #解压mysql8.0.40 [root@root mysql-8.0.40]# tar -xvf mysql-8.0.40-1.el8.aarch64.rpm-bundle.tar [root@root mysql-8.0.40]# rm -rf mysql-8.0.40-1.el8.aarch64.rpm-bundle.tar #执行安装 [root@root mysql-8.0.40]# rpm -ivh mysql-community-common-8.0.40-1.el8.aarch64.rpm [root@root mysql-8.0.40]# rpm -ivh mysql-community-client-plugins-8.0.40-1.el8.aarch64.rpm [root@root mysql-8.0.40]# rpm -ivh mysql-community-libs-8.0.40-1.el8.aarch64.rpm [root@root mysql-8.0.40]# rpm -ivh mysql-community-client-8.0.40-1.el8.aarch64.rpm [root@root mysql-8.0.40]# rpm -ivh mysql-community-icu-data-files-8.0.40-1.el8.aarch64.rpm [root@root mysql-8.0.40]# rpm -ivh mysql-community-server-8.0.40-1.el8.aarch64.rpm #查看安装 [root@root mysql-8.0.40]# rpm -qa|grep -i mysql mysql-community-server-8.0.40-1.el8.aarch64 mysql-community-common-8.0.40-1.el8.aarch64 mysql-community-client-8.0.40-1.el8.aarch64 mysql-community-libs-8.0.40-1.el8.aarch64 mysql-community-client-plugins-8.0.40-1.el8.aarch64 mysql-community-icu-data-files-8.0.40-1.el8.aarch64 #在首次启动mysql之前,配置[忽略表名大小写, 若不指定则按默认0配置] [root@root mysql-8.0.40]# vi /etc/my.cnf lower_case_table_names=1 #执行启动mysql [root@root mysql-8.0.40]# systemctl start mysqld #查看mysql是否启动 [root@root mysql-8.0.40]# ss -tnl [root@root mysql-8.0.40]# ps -ef | grep mysql #查询初始化密码 [root@root mysql-8.0.40]# cat /var/log/mysqld.log | grep password [root@root mysql-8.0.40]# mysql -u root -p #登录成功后执行命令 ALTER USER 'root'@'localhost' IDENTIFIED BY 'yl@GzSqyr#2025.'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; CREATE USER 'root'@'%' IDENTIFIED BY 'yl@GzSqyr#2025.'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; #退出后,停止服务 [root@root mysql-8.0.40]# systemctl stop mysqld #创建安装目录 [root@root mysql-8.0.40]# mkdir -p install/data #拷贝源数据文件到新的数据文件位置 [root@root mysql-8.0.40]# cp -fa /var/lib/mysql/* /home/sqyr/local/mysql-8.0.40/install/data/ #修改数据目录权限 [root@root mysql-8.0.40]# chown -R mysql:mysql /home/sqyr/local/mysql-8.0.40/install/ #切换目录, 删除源数据文件并备份 [root@root mysql-8.0.40]# cd /var/lib/ [root@root lib]# mv mysql mysql_bak #切换目录, 配置日志文件和目录权限 [root@root lib]# cd /home/sqyr/local/mysql-8.0.40/install/data/ [root@root data]# mkdir logs [root@root data]# cd logs/ [root@root logs]# touch mysql-slow.log [root@root logs]# chmod 775 mysql-slow.log [root@root logs]# touch mysqld.log [root@root logs]# chmod 775 mysqld.log [root@root logs]# chown -R mysql:mysql /home/sqyr/local/mysql-8.0.40/install/data/logs/ #切换安装目录, 复制errmsg.sys到该目录 [root@root logs]# cd /home/sqyr/local/mysql-8.0.40/install/ [root@root install]# mkdir -p share/mysql/ [root@root install]# mkdir -p share/mysql/english [root@root install]# mkdir -p share/mysql/german [root@root install]# cp /usr/share/mysql-8.0/english/errmsg.sys /home/sqyr/local/mysql-8.0.40/install/share/mysql/ [root@root install]# cp /usr/share/mysql-8.0/english/errmsg.sys /home/sqyr/local/mysql-8.0.40/install/share/mysql/english/ [root@root install]# cp /usr/share/mysql-8.0/german/errmsg.sys /home/sqyr/local/mysql-8.0.40/install/share/mysql/german/ #切换目录配置插件 [root@root install]# mkdir -p lib64/mysql/plugin [root@root install]# mkdir -p lib64/mysql/private [root@root install]# cp /lib64/mysql/plugin/validate_password.so /home/sqyr/local/mysql-8.0.40/install/lib64/mysql/plugin/ [root@root install]# cp /lib64/mysql/plugin/component_validate_password.so /home/sqyr/local/mysql-8.0.40/install/lib64/mysql/plugin [root@root install]# cp /lib64/mysql/plugin/component_reference_cache.so /home/sqyr/local/mysql-8.0.40/install/lib64/mysql/plugin [root@root install]# cp /lib64/mysql/plugin/connection_control.so /home/sqyr/local/mysql-8.0.40/install/lib64/mysql/plugin/ [root@root install]# chown -R mysql:mysql /home/sqyr/local/mysql-8.0.40/install/lib64/mysql/private/ [root@root install]# ln -s /usr/share/icu /home/sqyr/local/mysql-8.0.40/install/lib64/mysql/private/ #备份my.cnf cp /etc/my.cnf /etc/my.cnf_bak #写入配置文件如下
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html # # 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 the leading "# " to disable binary logging # Binary logging captures changes between backups and is enabled by # default. It's default setting is log_bin=binlog # disable_log_bin # # 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 # # Remove leading # to revert to previous value for default_authentication_plugin, # this will increase compatibility with older clients. For background, see: # https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin # default-authentication-plugin=mysql_native_password [mysqld] # 基础目录 basedir=/home/sqyr/local/mysql-8.0.40/install/ # 数据目录 datadir=/home/sqyr/local/mysql-8.0.40/install/data # 通讯链接文件 socket=/home/sqyr/local/mysql-8.0.40/install/data/mysql.sock # 端口号 port=3306 # 绑定地址 bind-address=0.0.0.0 # 符号链接 skip-name-resolve # 默认编码 character-set-server=utf8mb4 # 默认时区 default-time_zone='+8:00' # 默认采用InnoDB存储引擎 default-storage-engine=INNODB # 时间格式 explicit_defaults_for_timestamp=true # 每执行一个事务都强制写入磁盘 sync_binlog=1 # 忽略表名大小写 lower_case_table_names=1 # 使用独立表空间 innodb_file_per_table=1 # 数据缓冲区大小,如果是单实例且绝大多数是InnoDB引擎表的话,可考虑设置为物理内存的50% ~ 70%左右; innodb_buffer_pool_size=2G # innodb缓冲池块大小 innodb_buffer_pool_chunk_size=128M # innodb缓冲池实例数 innodb_buffer_pool_instances=8 # 如果要求数据不能丢失,为了数据安全,那么两个都设为1。 innodb_flush_log_at_trx_commit=1 # 事务日志大小 innodb_log_file_size=256M # 设置2,基本可满足90%以上的场景; innodb_log_files_in_group=2 # 日志缓冲区大小 innodb_log_buffer_size=4M # 如果库里的表特别多的情况,请增加此值 innodb_open_files=2048 # mysql的数据文件,千万不要用默认的10M,否则在有高并发事务时,会受到不小的影响 #innodb_data_file_path=ibdata1:12m;ibdata2:1g:autoextend # 服务器最大连接数 max_connections=1024 # 服务器验证密码超过1000次拒绝连接 max_connect_errors=1000 # 消息缓冲区会用到该列,该值太小则会在处理大包时产生错误。如果使用大的text,BLOB列,必须增加该值 max_allowed_packet=256M # 排序使用的缓冲大小,高并发的情况下, 需要减小此值到64K-128K sort_buffer_size=4M # 若果多表连接需求大,则这个值要设置大一点 join_buffer_size=6M # 读缓冲区大小 read_buffer_size=3M # 随机读缓冲区大小设置 read_rnd_buffer_size=6M # 索引块的缓冲区大默认16M key_buffer_size=128M # 表描述符缓存大小,可减少文件打开/关闭次数,一般max_connections*2。 table_open_cache=2048 table_definition_cache=2048 # 设置临时表最大值,不要设置过大,否则容易导致OOM发生 tmp_table_size=128M max_heap_table_size=32M # 服务器能够同时打开的文件数量上限 open_files_limit=65535 # 跳过指定error no类型的错误 replica_skip_errors=1114 # 数据读取超时时间 net_read_timeout=10800 # 数据写入超时时间 net_write_timeout=10800 # 服务器关闭非交互连接之前等待活动的秒数 wait_timeout=86400 # 服务器关闭交互式连接前等待活动的秒数 interactive_timeout=86400 # 优化mysql的线程缓存,服务器线程缓存这个值表示可以重新利用保存在缓存中线程的数量 thread_cache_size=64 # 控制binlog日志文件保留时间,超过时间会删除 binlog_expire_logs_seconds=604800 # 开启慢日志查询 slow_query_log=ON # 慢查询的阈值为3秒 long_query_time=3 # 输出慢日志文件 slow_query_log_file=/home/sqyr/local/mysql-8.0.40/install/data/logs/mysql-slow.log # 一般有两种形式,FILE和TABLE,默认FILE; TABLE时mysql库的slow_log表中 log_output=FILE,TABLE # 用来缓存批量插入数据的时候临时缓存写入数据。如果有大量数据插入可提高此参数值,默认是8M bulk_insert_buffer_size=64M # MyISAM设置恢复表之时使用的缓冲区的尺寸,默认为8M,最小值4k。当在REPAIR TABLE 或用 CREATE INDEX 创建索引或ALTER TABLE过程中对MyISAM索引排序时分配的缓冲区 myisam_sort_buffer_size=32M #对应errmsg.sys目录和文件位置 lc-messages-dir=/home/sqyr/local/mysql-8.0.40/install/share/mysql # 设置log-error日志文件 log-error=/home/sqyr/local/mysql-8.0.40/install/data/logs/mysqld.log # 设置pid-file进程文件 pid-file=/var/run/mysqld/mysqld.pid # 设置mysql模式 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION [client] socket=/home/sqyr/local/mysql-8.0.40/install/data/mysql.sock default-character-set=utf8mb4 [mysql] socket=/home/sqyr/local/mysql-8.0.40/install/data/mysql.sock default-character-set=utf8mb4
#重新启动mysql, 并在目录下/mysql-8.0.40/install/data/logs查看启动日志情况 [root@root install]# systemctl start mysqld #防火墙配置 [root@root install]# firewall-cmd --permanent --add-port=3306/tcp [root@root install]# firewall-cmd –reload [root@root install]# firewall-cmd --zone=public --list-ports [root@root install]# systemctl restart firewalld [root@root install]# systemctl status firewalld #设置mysql自启动 [root@root install]# systemctl enable mysqld.service [root@root install]# systemctl list-unit-files | grep mysqld.service
(图片来源网络,侵删)
(图片来源网络,侵删)
(图片来源网络,侵删)
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。