首页 > 数据库 >RHEL9手动安装MySQL5.7.8

RHEL9手动安装MySQL5.7.8

时间:2023-01-12 01:55:05浏览次数:44  
标签:-- MySQL5.7 手动 RHEL9 mysqld mysql MySQL 上下文 mysql5.7

手动安装便于后期维护,并且更加通用

本文记录安装过程和遇到问题,仅供复习和参考,有问题欢迎指正

新建MySQL目录

mkdir /app/mysql5.7.8 # 主程序目录
mkdir /data/mysql # 数据库目录
mkdir /config # 配置目录

新建MySQL用户

useradd -s /sbin/nologin mysql # -s指定登录的ssh,/sbin/nologin为禁止ssh登录。

解压MySQL安装包

这里发现不能用迅雷下载后直接拖进虚拟机,会解压出错

wget不行就自行找别的办法上传安装包

wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.8-rc-linux-glibc2.5-x86_64.tar.gz # 下载安装包
tar -xzvf mysql-5.7.8-rc-linux-glibc2.5-x86_64.tar.gz # 解压到当前目录
mv mysql-5.7.8-rc-linux-glibc2.5-x86_64/* /app/mysql5.7.8/ # 移动到主程序目录
rmdir mysql-5.7.8-rc-linux-glibc2.5-x86_64/ # 删除空目录,非空会报错

配置MySQL环境变量

echo "export PATH=\"/app/mysql5.7.8/bin:\$PATH\"" >> /etc/profile # 写入环境变量文件末尾
source /etc/profile # 刷新环境变量
mysql -V # 测试是否生效

# 变量生效,但发生报错,缺少libncurses.so.5组件
>> mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

# 检查/usr/lib64目录,发现RHEL9使用了新版本组件,这里使用软链接解决
ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5

mysql -V # 再次测试
>> mysql  Ver 14.14 Distrib 5.7.8-rc, for linux-glibc2.5 (x86_64) using  EditLine wrapper

初始化MySQL数据库

mysqld --initialize-insecure  --user=mysql --basedir=/app/mysql5.7.8/ --datadir=/data/mysql/ # 初始化命令
ls /data/mysql/ # 检查生成的文件
>> auto.cnf  ib_buffer_pool  ibdata1  ib_logfile0  ib_logfile1  mysql  performance_schema  sys

新建MySQL配置

vi /config/mysql.cnf # 新建配置
#服务端配置
[mysqld]
#主程序目录                
basedir=/app/mysql5.7.8
#数据库目录
datadir=/data/mysql
#MySQL用户
user=mysql
#服务器id号
server_id=1
#端口号
port=3306

修改MySQL文件所有权

chown -R mysql:mysql /app/mysql5.7.8/* # 主程序目录
chown -R mysql:mysql /data/mysql/* # 数据库目录
chown -R mysql:mysql mysql.cnf # 配置文件

配置SELinux安全上下文

非默认目录运行会被SELinux阻止,需要为自定义的目录添加安全上下文(本文耗时最久地方就是配上下文。。)

semanage fcontext -a -t mysqld_initrc_exec_t "/app/mysql5.7.8/bin/mysqld" # mysqld添加 mysqld_initrc_exec_t 类型安全上下文
restorecon -v "/app/mysql5.7.8/bin/mysqld" # 恢复安全上下文配置
semanage fcontext -a -t mysqld_var_run_t "/app/mysql5.7.8(/.*)" # 主程序目录添加 mysqld_var_run_t 类型安全上下文
restorecon -Rv "/app/mysql5.7.8/" # 恢复安全上下文配置
semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?" # 数据库目录添加mysqld_db_t类型的安全上下文
restorecon -Rv "/data/mysql/" # 恢复安全上下文位置
semanage fcontext -a -t mysqld_etc_t "/config/mysql.cnf" # 配置文件添加mysqld_etc_t类型的安全上下文
restorecon -v "/config/mysql.cnf" # 恢复安全上下文配置

# semanage fcontext -l | grep -i mysqld 列出mysqld相关的安全上下文
# semanage fcontext -a -f s -t mysqld_var_run_t "/tmp/mysql\.sock" # sock文件安全上下文
# semanage fcontext -a -t mysqld_var_run_t "/data/mysql/*.pid" pid文件安全上下文

配置systemd服务

vi /etc/systemd/system/mysqld.service # 新建服务
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/mysql5.7.8/bin/mysqld --defaults-file=/config/mysql.cnf
LimitNOFILE = 5000

启动systemd服务

systemctl start mysqld.service # 启动服务
systemctl status mysqld.service # 查看状态
systemctl enable mysqld.service # 加入启动项

# journalctl -xe 查看日志

设置MySQL密码

mysqladmin -u root password 123456

允许MySQL远程登录

mysql -uroot -p123456 # root登录MySQL
mysql> use mysql; # 选择MySQL系统数据库
mysql> update user set host="%" where host="localhost"; # 更新用户表
mysql> flush privileges; # 刷新数据库
mysql> quit; # 退出数据库

放行MySQL端口

firewall-cmd --zone=public --permanent --add-service=mysql # public是默认接口,mysql是系统预配置
firewall-cmd --reload # 重载防火墙

# firewall-cmd --list-all 检查防火墙状态
# firewall-cmd --get-services 检查可用的系统预配置

测试MySQL连接

image

标签:--,MySQL5.7,手动,RHEL9,mysqld,mysql,MySQL,上下文,mysql5.7
From: https://www.cnblogs.com/YoakeX5/p/17045311.html

相关文章

  • MySQL配置安装或界面手动安装总结
    MySQL8安装避坑问题一:按照免安装版安装   1.链接官网:https://dev.mysql.com/downloads/mysql/  2.MySQL8目录      以管理员权限进入cmd  3.......
  • twaver局部布局+手动布局实现画布内添加网络自动布局(布局成圆形)
    效果代码<html><head><title>TWaverHTML5</title><scriptsrc="../twaver.js"></script></head><bodyonload="init()"><buttonstyle="pos......
  • 如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段
    有个朋友向我咨询关于SAP产品增强字段扩展(FieldExtensibility)的问题:Jerry,你好。看过你写的SAP产品增强FieldExtensibility文章,对扩展字段在物理数据库的结构还不......
  • mysql5.7 主从更改 同步位置信息
    更改同步位置,同步主机信息,同步用户信息等,需要先停掉从机,然后操作,进而启动slavemysql>stopslave;mysql>changemastertomaster_host='10.132.100.1';mysql>startsla......
  • 【Unity TIL】7. 手动刷新资源
    背景最近的项目,Unity版本是2020.3,电脑是mac,不清楚是哪个的原因,unity经常崩溃。代码敲着敲着就崩溃,关闭了运行时编译代码还是崩,后来就直接关了AutoRefrash,崩溃的问题......
  • ubuntu20下mysql5.7数据库修改密码
    --找到mysql配置文件修改/etc/mysql/mysql.conf.d/mysqld.cnf#加上下面的可以不要密码登录#skip-grant-tables#skip-networking然后重启mysql服务servicemysqlr......
  • mysql5.7配置文件
    [client]port =3306socket =/data/mysql/mysql.sock[mysql]prompt="\u@mysqldb\R:\m:\s[\d]>"no-auto-rehash[mysqld]server-id={{server_id}}gtid-mode=onenforce......
  • Ubuntu 手动配置DNS
    使用ping命令测试百度域名时发现,无法解析这个域名,说明当前系统上没有配置DNS服务器。配置DNS服务器的方式主要有以下两种:        目录1、修改DNS配置文件 /e......
  • linux的centos7安装mysql5.7服务教程
    1.使用yum安装,便捷,快速MySQLYumRepositoryMySQL官方新提供了一种安装MySQL的方法--使用YUM源安装MySQL.1、MySQL官方网站下载MySQL的YUM源,在MySQL的下载页有一个“NEW!My......
  • 手动切换JDK版本时失败
    手动切换JDK版本时失败从JDK16切换到JDK1.8时失败正常来说只需要更改系统环境变量中的JAVA_HOME即可但是更改环境变量后java-version显示版本仍是16可以使用whereja......