💖The Begin💖点点关注,收藏不迷路💖 |
首先,检查系统中是否已安装MariaDB,因为MariaDB和MySQL在端口和配置文件上可能存在冲突。
rpm -qa | grep mariadb
如果发现有MariaDB相关包,使用yum命令进行卸载:
yum remove mariadb
从MySQL官网下载MySQL 5.7的源码包,这里以5.7.42版本为例:
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz tar -zxvf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.42-linux-glibc2.12-x86_64 mysql-5.7.42
使用yum安装编译MySQL所需的工具和库:
yum install gcc gcc-c++ cmake ncurses-devel bison openssl-devel rpcgen
创建MySQL的安装目录和数据库数据存放目录,并设置相应的用户和组权限:
mkdir -p /mysqlapp/mysql mkdir -p /mysqlapp/mysql/data groupadd mysql useradd -g mysql mysql mv /root/mysql-5.7.42/* /mysqlapp/mysql chown -R mysql:mysql /mysqlapp/mysql chown -R mysql:mysql /mysqlapp/mysql/data
进入MySQL源码目录:
cd /mysqlapp/mysql/bin [root@kylin01 bin]# ./mysqld --initialize --console --user=mysql --datadir=/mysqlapp/mysql/data --basedir=/mysqlapp/mysql/
1、创建MySQL的配置文件/etc/my.cnf
,并添加必要的配置项:
vi /etc/my.cnf
添加以下内容:
[mysqld] port = 3306 user = mysql basedir = /mysqlapp/mysql datadir = /mysqlapp/mysql/data pid-file = /mysqlapp/mysql/data/mysql.pid sql_mode='ONLY_FULL_GROUP_BY' log_error = /mysqlapp/mysql/mysql-error.log [client] port = 3306
2、创建 mysql-error.log 文件
sudo touch /mysqlapp/mysql/mysql-error.log sudo chown mysql:mysql /mysqlapp/mysql/mysql-error.log
要不启动会报错:
[root@Kylin01 support-files]# sh mysql.server start Starting MySQL.2024-08-22T11:57:51.565251Z mysqld_safe error: log-error set to '/mysqlapp/mysql/mysql-error.log', however file don't exists. Create writable for user 'mysql'. ERROR! The server quit without updating PID file (/mysqlapp/mysql/data/mysql.pid). [root@Kylin01 support-files]#
将MySQL的bin目录添加到PATH环境变量中:
echo 'export PATH=/mysqlapp/mysql/bin:$PATH' >> /etc/profile source /etc/profile
将MySQL的启动脚本复制到/etc/init.d/
目录下,并启动MySQL服务:
cd /mysqlapp/mysql/support-files/ sh mysql.server start
使用初始化密码登录mysql。
mysql -u root -p
登录到MySQL后,你应该首先为root
用户设置一个密码,以确保数据库的安全性。在MySQL 5.7中,你可以使用ALTER USER
命令来设置密码。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Zyl#2024';
请记得将'你的新密码'
替换为你想要设置的密码。
设置完密码后,你可以通过退出MySQL并重新登录来验证密码是否设置成功:
mysql> exit;
然后重新登录:
mysql -u root -p
系统会提示你输入密码,输入你刚刚设置的密码后,你应该能够成功登录到MySQL。
为了让MySQL服务在系统启动时自动运行,你可以使用chkconfig
命令(如果系统支持)或systemctl
(对于使用systemd的系统)来设置。
对于使用systemd
的系统:
# 创建一个systemd服务文件(如果需要) vi /etc/systemd/system/mysqld.service
然后,你可以根据MySQL的启动脚本内容填写该服务文件,或者简单地使用以下模板(注意,这只是一个基本模板,具体细节可能需要根据你的安装路径和配置进行调整):
[Unit] Description=MySQL Server After=network.target [Service] User=mysql Group=mysql ExecStart=/mysqlapp/mysql/bin/mysqld --defaults-file=/etc/my.cnf [Install] WantedBy=multi-user.target
保存文件后,重新加载systemd的配置并启用MySQL服务:
systemctl daemon-reload systemctl enable mysqld systemctl start mysqld systemctl status mysqld
如果你的服务器运行了防火墙,并且MySQL需要通过网络被访问,你需要确保防火墙允许访问MySQL的默认端口(3306)。
对于使用firewalld
的系统:
firewall-cmd --permanent --zone=public --add-port=3306/tcp firewall-cmd --reload
💖The End💖点点关注,收藏不迷路💖 |
上一篇:部署Next.js应用详细指南:在 Linux 服务器上使用 Nginx、PM2、Certbot 和 Git
下一篇:裸金属服务器(Bare Metal Server)和云物理主机(Cloud Physical Server)的对比