centos 8 指定目录安装mysql8.0.30及使用systemctl启动

centos 8 指定目录安装mysql8.0.30及使用systemctl启动

1. 下载安装包

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

2.解压到指定目录

tar xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz -C /data/

3.更改文件名称

mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql

4.添加用户组 添加用户到用户组 设置密码

groupadd mysql
useradd -g mysql mysql
passwd mysql
输入密码

5.创建mysql数据存储文件夹并赋予权限

mkdir -p /data/mysql/data
chown -R mysql.mysql /data/mysql

6.进行初始化mysql并进行安装

cd /data/mysql/bin
./mysqld --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data/ --initialize --lower-case-table-names=1
//初始化之后会生成临时密码由大小写字母符号及数字组成,复制出来到文本文档中,后面会用到

7.创建mysql配置文件

touch /data/mysql/my.cnf
//以下为my.cnf文件内容
[mysqld]
user=mysql
#设置mysql的安装目录
basedir=/data/mysql/
#设置mysql数据库的数据的存放目录
datadir=/data/mysql/data
# 设置客户端默认字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 设置是否区分大小写(初始化后此参数在这里也必须存在)
lower_case_table_names=1
# 默认使用“mysql_native_password”插件认证 
default_authentication_plugin=mysql_native_password
socket=/tmp/mysql.sock
server_id=6
port=3306
 
[mysql]
socket=/tmp/mysql.sock

8.创建可由systemctl启动的mysql服务

touch /etc/systemd/system/mysqld.service
//以下为mysqld.service内容
[Unit]
Description=MySQL Server
Documentation=mysqld.service
After=network.target
After=syslog.target
 
[Install]
WantedBy=multi-user.target
 
[Service]
User=mysql
Group=mysql
ExecStart=/data/mysql/bin/mysqld --defaults-file=/data/mysql/my.cnf
LimitNOFILE = 5000

9.启动mysql

systemctl start mysqld.service
//启动前seliunx状态应为disabled否则会报错
//查看seliunx状态
sestatus
//修改状态为disabled 修改/etc/selinux/config文件
SELINUX=disabled
SELINUXTYPE=targeted
//改完之后重启
reboot
//若启动出现其他错误 可执行journalctl -xe查看具体错误进行处理
//也可运行以下命令先启动mysql
./mysqld --defaults-file=/data/mysql/my.cnf &

10.登录mysql修改密码及远程访问

./data/mysql/bin/mysql -u root -p
//输入上面复制密码即可登录 不可直接粘贴 手打吧
//登陆成功之后修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
//切换数据库
use mysql;
//修改为远程访问
update user set host='%' where user='root';
//刷新权限
flush privileges;

11.善后处理

//开机自启
systemctl enable mysqld.service
//添加3306到防火墙可允许端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//添加或移除端口 需重新加载才能生效
firewall-cmd --reload
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值