一、软件自带启动脚本init

1.1.下载并初始化

[root@openEuler-2 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz

[root@openEuler-2 ~]# ls
anaconda-ks.cfg  mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz

# 创建mysql用户和用户组
[root@openEuler-2 ~]# groupadd mysql
[root@openEuler-2 ~]# useradd -r -g mysql -s /bin/false mysql

# 解压mysql二进制包到/usr/local/下
[root@openEuler-2 ~]# tar xf mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz -C /usr/local/

# 建软连接
[root@openEuler-2 ~]# ln -s /usr/local/mysql-8.0.36-linux-glibc2.12-x86_64/ /usr/local/mysql

# 初始化,注意:记住最后初始化的登录密码
[root@openEuler-2 ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data

1.2.编写配置文件/etc/my.cnf

# 首先创建用于放mysql日志的目录
[root@openEuler-2 ~]# mkdir /var/log/mysql

# 设置目录权限
[root@openEuler-2 ~]# chown -R mysql /var/log/mysql

# 写配置文件
[root@openEuler-2 ~]# vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

# 修改mysql数据目录和文件的权限
[root@openEuler-2 ~]# chown -R mysql.mysql /usr/local/mysql/*
[root@openEuler-2 ~]# chown -R mysql.mysql /usr/local/mysql

1.3.拷贝软件自带启动脚本,启动服务

# 拷贝服务脚本
[root@openEuler-2 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

# 查看脚本执行权限
[root@openEuler-2 ~]# ll /etc/init.d/mysqld 
-rwxr-xr-x 1 root root 10576 Jan 14 21:11 /etc/init.d/mysqld

# 添加系统服务
[root@openEuler-2 ~]# chkconfig --add mysqld

# 设置服务开机自启动
[root@openEuler-2 ~]# chkconfig mysqld on

# 查看
[root@openEuler-2 ~]# chkconfig --list mysqld
mysqld         	0:off	1:off	2:on	3:on	4:on	5:on	6:off

# 启动服务
[root@openEuler-2 ~]# systemctl start mysqld
[root@openEuler-2 ~]# systemctl status mysqld

# 安装mysql依赖
[root@openEuler-2 ~]# yum install -y ncurses-compat-libs

# 设置添加环境变量
[root@openEuler-2 ~]# vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin

# 立即生效  
[root@openEuler-2 ~]# source /etc/profile.d/mysql.sh

# 登录,输入前面初始化的密码
[root@openEuler-2 ~]# mysql -uroot -p

# 修改mysql密码
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';

二、手动配置启动脚本systemd

2.1.下载并初始化

[root@openEuler-2 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz

[root@openEuler-2 ~]# ls
anaconda-ks.cfg  mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz

# 创建mysql用户和用户组
[root@openEuler-2 ~]# groupadd mysql
[root@openEuler-2 ~]# useradd -r -g mysql -s /bin/false mysql

# 解压mysql二进制包到/usr/local/下
[root@openEuler-2 ~]# tar xf mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz -C /usr/local/

# 建软连接
[root@openEuler-2 ~]# ln -s /usr/local/mysql-8.0.36-linux-glibc2.12-x86_64/ /usr/local/mysql

# 初始化,注意:记住最后初始化的登录密码
[root@openEuler-2 ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data

2.2.编写配置文件/etc/my.cnf

# 首先创建用于放mysql日志的目录
[root@openEuler-2 ~]# mkdir /var/log/mysql

# 设置目录权限
[root@openEuler-2 ~]# chown -R mysql /var/log/mysql

# 写配置文件
[root@openEuler-2 ~]# vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

# 修改mysql数据目录和文件的权限
[root@openEuler-2 ~]# chown -R mysql.mysql /usr/local/mysql/*
[root@openEuler-2 ~]# chown -R mysql.mysql /usr/local/mysql

2.3.编写systemd启动脚本

# 写服务文件,添加以下内容
[root@openEuler-2 ~]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=Mysql server
After=network.target
 
[Install]
WantedBy=multi-user.target
 
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --daemonize $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID  
ExecStop=/bin/kill -s QUIT $MAINPID 
 
KillMode=process
LimitNOFILE=65535
Restart=on-failure
RestartSec=10
RestartPreventExitStatus=1
PrivateTmp=false

# 安装mysql依赖
[root@openEuler-2 ~]# yum install -y ncurses-compat-libs

# 设置添加环境变量
[root@openEuler-2 ~]# vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin

# 立即生效  
[root@openEuler-2 ~]# source /etc/profile.d/mysql.sh

# 重新加载配置
[root@openEuler-2 ~]# systemctl daemon-reload

# 修改mysql密码
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';

 

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐