arm架构源码编译部署mysql 5.7.44
MySQL 5.7 源码编译安装指南
一、下载
下载地址:https://downloads.mysql.com/archives/community/
二、部署
2.1 卸载mariadb
MariaDB 和 MySQL 默认都使用 3306 端口,如果同时运行会报错等原因。
# 卸载yum remove-ymariadb mariadb-server mariadb-libs# 检查是否还有未删除的包rpm-qa|grepmariadb# 清理 yum 的缓存yum clean all2.2 安装依赖包
yuminstall-ygitgcc gcc-c++ glibc libtoolmakecmake ncurses ncurses-devel libtirpc libtirpc-devel libarchive openssl openssl-devel rpcgen libaio libaio-devel bison bison-devel perl perl-devel2.3 创建用户和组
sudogroupaddmysqlsudouseradd-r-gmysql-s/bin/nologin mysqlsudomkdir-p/usr/local/mysql/datasudomkdir-p/usr/local/mysql/logssudomkdir-p/var/run/mysqldsudochown-Rmysql:mysql /usr/local/mysqlsudochown-Rmysql:mysql /var/run/mysqld2.4 解压源码
cd/opt/mysqltar-zxvfmysql-boost-5.7.44.tar.gzcdmysql-5.7.44# 创建目录进入mkdirbuild&&cdbuild2.5 cmake 配置
cmake..\-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\-DMYSQL_DATADIR=/usr/local/mysql/data\-DSYSCONFDIR=/etc\-DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock\-DWITH_BOOST=../boost\-DDEFAULT_CHARSET=utf8mb4\-DDEFAULT_COLLATION=utf8mb4_unicode_ci\-DWITH_INNOBASE_STORAGE_ENGINE=1\-DWITH_MYISAM_STORAGE_ENGINE=1\-DENABLED_LOCAL_INFILE=1\-DWITH_SSL=system\-DMYSQL_TCP_PORT=33062.6 编译安装
make-j$(nproc)sudomakeinstall2.7 创建配置文件
sudotee/etc/my.cnf>/dev/null<<EOF [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/var/run/mysqld/mysqld.sock pid-file=/var/run/mysqld/mysqld.pid log-error=/usr/local/mysql/logs/error.log port=3306 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci default-storage-engine=INNODB max_connections=500 [mysql] socket=/var/run/mysqld/mysqld.sock [client] socket=/var/run/mysqld/mysqld.sock EOF2.8 初始化数据库
sudo/usr/local/mysql/bin/mysqld--initialize--user=mysql--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data2.9 查看临时密码
sudogrep'temporary password'/usr/local/mysql/logs/error.log2.10 创建 systemd 服务并启动
sudotee/etc/systemd/system/mysqld.service>/dev/null<<EOF [Unit] Description=MySQL Server After=network.target [Service] Type=forking User=mysql Group=mysql PIDFile=/var/run/mysqld/mysqld.pid ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf Restart=on-failure LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF# 启动服务sudosystemctl daemon-reloadsudosystemctl start mysqldsudosystemctlenablemysqld2.11 配置环境变量
echo'export PATH=/usr/local/mysql/bin:$PATH'|sudotee-a/etc/profilesource/etc/profile2.12 修改密码
# 修改密码mysql-uroot-p'临时密码'--connect-expired-password-e"ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';"如果密码不对跳过认证修改# 停掉 mysqlsystemctl stop mysqld# 跳过权限启动/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --skip-grant-tables--user=mysql&# 等几秒后登录mysql-uroot# 重置密码FLUSH PRIVILEGES;ALTERUSER'root'@'localhost'IDENTIFIED BY'你的新密码';FLUSH PRIVILEGES;exit;# 杀掉进程,正常启动kill$(pgrep mysqld)systemctl start mysqld# 用新密码登录mysql-uroot-p