济南建站免费模板,品牌设计与vi设计的区别,小程序制作费用多少,friday wordpress开头还是介绍一下群#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题#xff0c;有需求都可以加群群内有各大数据库行业大咖#xff0c;CTO#xff0c;可以解决你的问题。加群请联系 liuaustin3 #xff0c;#xff08;… 开头还是介绍一下群如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题有需求都可以加群群内有各大数据库行业大咖CTO可以解决你的问题。加群请联系 liuaustin3 共1730人左右 1 2 3 4 5 4群230,另欢迎 OpenGauss 的技术人员加入。 首先的自我检讨与自我批评最近有点懒知识的更新慢最近在更换系统到ubuntu 22.04 ,废弃centos ,同时MYSQL 都在8 以上之前MySQL都是在CENTOS 7.5 上安装并且也都自动化安装基本上没有问题但到了ubuntu 22.04 基于对于系统的不熟悉, 产生很多的问题。 今天就梳理一下转换了系统对于MySQL 8 安装中的一些问题,在说这些问题的之前需要对系统的知识进行一个 review ,在新的操作系统中引入了systemd 作为init系统的替代品。 之前的LINUX 系统是通过INIT 系统来关系服务器中的进程通过读取并执行/etc/inittab文件来确定要启动的进程文件对于程序允许的级别进行了定义每个运行的级别都有对应的目录其中包含了该级别下所需要的启动服务脚本INIT 通过运行的级别来配置信息启动或停止相关的进程等启动时会根据依赖关系逐个启动但问题在于INIT 的系统启动的方式由于串行的方式导致启动的速度慢无法有效利用多核心的树立起和并行能力基于这个问题操作系统推出了 SYSTEMDUPSTART, OpenRC 等方式来进行替代常见的替换的方式是systemd. SYSTEMD 作为服务系统启动和管理的初始化管理有以下的一些特性和功能 1 并行启动与传统的放回寺不同systemd 可以将启动的任务分配给多个CPU 同时根据依赖关系稳定可靠的只能排序提高启动效率。 2 依赖关系的处理在systemd 中可以表名服务和服务之间的依赖关系他将自动解析依赖关系并正确的按照流程启动依赖的程序 3 服务控制systemd 提供完善的命令和工具来管理系统服务通过 systemctl命令来启动和停止重启冲加载服务和查询服务的状态方面的分析系统状态和故障信息。 那么我的问题出现在哪里在安装MYSQL8 到 ubuntu系统中时在安装ubuntu 的时候如果安装的账号中包含mysql将无法进行下一步ubuntu 在账号中保留了mysql 作为保留账号。相关的处理必须在安装系统后在进行。 当然这不是本期要说的核心问题在之前安装完MYSQL 后直接将support-files 下的mysql.server 拷贝到 /etc/init.d/ 变换名字直接就可以运行了如 service mysqld start mysqlmysql:/usr/local/mysql/support-files$ sudo service mysqld start
Failed to start mysqld.service: Unit mysqld.service not found.
mysqlmysql:/usr/local/mysql/support-files$ 这里按照原有的方式来去启动MySQL 失败了错误提示 failed to start mysqld.service : Unit mysqld.service not found 错误提示缺少 mysqld.service mysqlmysql:/usr/local/mysql/support-files$ sudo service mysqld start
mysqlmysql:/usr/local/mysql/support-files$ ps -ef | grep mysql
mysqlad 1848 1 0 06:53 ? 00:00:00 /lib/systemd/systemd --user
mysqlad 1849 1848 0 06:53 ? 00:00:00 (sd-pam)
mysqlad 1857 1756 0 06:53 tty1 00:00:00 -bash
root 2830 2017 0 07:19 pts/0 00:00:00 su - mysql
mysql 2831 2830 0 07:19 pts/0 00:00:00 -bash
mysql 3116 1 0 07:29 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir/usr/local/mysql/data --pid-file/usr/local/mysql/data/mysql.pid
mysql 3206 3116 12 07:29 ? 00:00:00 /usr/local/mysql/bin/mysqld --basedir/usr/local/mysql --datadir/usr/local/mysql/data --plugin-dir/usr/local/mysql/lib/plugin --log-errormysql.err --pid-file/usr/local/mysql/data/mysql.pid
mysql 3251 2831 0 07:29 pts/0 00:00:00 ps -ef
mysql 3252 2831 0 07:29 pts/0 00:00:00 grep --colorauto mysql
mysqlmysql:/usr/local/mysql/support-files$ 因为基于手动二进制值的方式进行的MySQL的安装导致按照之前的经验直接将support_file中的文件放置到 /etc/init.d/ 中就可以进行数据库的启动和关闭但是到了ubuntu 22.04 版本即使使用service 命令来启动数据库或进行数据库的关闭还是会通过systemd 来进行服务的管理所以在对应的位置中必须有 mysqld.service 的文件和内容。 这里在测试中mysqld.service 必须放置在一下位置的任意之一 /etc/systemd/system /usr/lib/systemd/system [Unit]
DescriptionMySQL Server
Documentationman:mysqld(8)
Documentationhttp://dev.mysql.com/doc/refman/en/using-systemd.html
Afternetwork.target
Aftersyslog.target[Install]
WantedBymulti-user.target[Service]
Usermysql
Groupmysql
Typeforking
TimeoutSec0# Execute pre and post scripts as root
PermissionsStartOnlytrue# Start main service
# 启动脚本
ExecStart/usr/local/mysql/support-files/mysql.server start#ExecStart/bin/bash -c (/usr/local/mysql/bin/mysqld_safe --defaults-file/${db_home_dir}/${node}_cnf_${port_num}/${db_type}.cnf/dev/null )
#ExecReload/bin/kill -s HUP \$MAINPID# Use this to switch malloc implementation
EnvironmentFile-/etc/sysconfig/mysqlRestarton-failure
RestartPreventExitStatus1
# OOM保护
OOMScoreAdjust-1000PrivateTmpfalse 在补充了这个文件后再次通过原来的方式启动mysql 8.035 mysqlmysql:/usr/lib/systemd/system$ sudo systemctl restart mysqld
mysqlmysql:/usr/lib/systemd/system$ sudo systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/etc/systemd/system/mysqld.service; disabled; vendor preset: enabled)Active: active (running) since Wed 2023-11-22 08:20:57 UTC; 5s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 3688 ExecStart/usr/local/mysql/support-files/mysql.server start (codeexited, status0/SUCCESS)Main PID: 3696 (mysqld_safe)Tasks: 39 (limit: 9232)Memory: 362.7MCPU: 807msCGroup: /system.slice/mysqld.service├─3696 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir/usr/local/mysql/data --pid-file/usr/local/mysql└─3786 /usr/local/mysql/bin/mysqld --basedir/usr/local/mysql --datadir/usr/local/mysql/data --plugin-dirNov 22 08:20:56 mysql systemd[1]: Starting MySQL Server...
Nov 22 08:20:56 mysql mysql.server[3688]: Starting MySQL
Nov 22 08:20:57 mysql mysql.server[3688]: . *
Nov 22 08:20:57 mysql systemd[1]: Started MySQL Server. 当然也可以通过新的systemctl 的方式来进行数据库的操作。 通过这件事意识到 1 知识的连贯性和关联性 系统知识和数据库之间是有密切关系的系统的升级和更换必然会引起知识的更新 2 持续的学习的重要性