将mysql配置成service服务

mysql 5.7 配置 service 服务

  • 第1步,配置服务之前先杀掉进程
ps -ef | grep mysql | grep -v grep | awk '{print $2}' | xargs kill -9 2> /dev/null
  • 第2步,创建配置文件(若 ExecStart 使用 mysqld_safe 则会造成 systemctl start mysql 无法自动退出)
cat > /usr/lib/systemd/system/mysql.service <<EOF
[Unit]
Description=MySQL 5.7
After=network.target

[Service]
User=mysql
Group=mysql
Type=forking
ExecStart=/opt/mysql/bin/mysqld --defaults-file=/data/mysql_3306/my_3306.cnf --daemonize
ExecStop=/opt/mysql/bin/mysqladmin -h127.0.0.1 -P3306 -udba_admin -pcf_rB1NKCzbaQuPH shutdown
LimitNOFILE=65536
PrivateTmp=false

[Install]
WantedBy=multi-user.target
EOF
  • 第3步,重新加载服务
chmod 644 /usr/lib/systemd/system/mysql.service
systemctl daemon-reload
systemctl enable mysql
  • 第4步,测试一下服务启动
systemctl start mysql
systemctl status mysql

配置mysql登录凭据

  • 利用 mysql_config_editor 配置 mysql 登录凭据
#.移除单个凭据
mysql_config_editor print --login-path=appadmin
mysql_config_editor remove --login-path=appadmin

#.清空所有凭据
mysql_config_editor reset
mysql_config_editor print --all
rm -f ~/.mylogin.cnf

#.创建凭据文件,需要输入密码(该密码会自动加密并保存到登陆凭据文件),无法配置自动化脚本(不支持 --stdin 非交互)
mysql_config_editor set --login-path=appadmin --host=127.0.0.1 --port=3306 --user=dba_admin --password --skip-warn

#.测试凭据并登录测试
mysql_config_editor print --login-path=appadmin
mysql --login-path=appadmin -e"show databases;"
  • 若要调整mysql服务,则替换 mysql 服务中 ExecStop 这一行
sed -i '/^ExecStop/c ExecStop=/opt/mysql/bin/mysqladmin --login-path=appadmin shutdown' /usr/lib/systemd/system/mysql.service
cat /usr/lib/systemd/system/mysql.service | grep ExecStop
systemctl daemon-reload
systemctl status mysql
Copyright © www.sqlfans.cn 2021 - 2026 All Right Reserved更新时间: 2025-05-21 18:59:27

results matching ""

    No results matching ""