企业网站 微博模块,怎么建立网站 个人,连云港网站建设 连云港网站制作,网站开发内部工单前言
本教程适用于在yum源不可用的LInux主机上安装Mysql的场景。 以redhat系主机做操作示例#xff0c;debian系主机可参照步骤#xff0c;将对应的rpm -ivh命令换成dpkg -i。
1. 官网下载安装包
https://dev.mysql.com/downloads/mysql/
1.1 版本分类
MySQL Enterprise…前言
本教程适用于在yum源不可用的LInux主机上安装Mysql的场景。 以redhat系主机做操作示例debian系主机可参照步骤将对应的rpm -ivh命令换成dpkg -i。
1. 官网下载安装包
https://dev.mysql.com/downloads/mysql/
1.1 版本分类
MySQL Enterprise Edition企业版收费 MySQL Cluster CGE高级集群版收费 MySQL Community Edition社区版开源免费但官方不提供技术支持 一般我们使用社区版的。 在该页面中可以选择5.0到9.0的各历史版本https://downloads.mysql.com/archives/community/
1.2 查看主机版本
我使用的是redhat系的Linux服务器因此Operating System操作系统一项选择“RedHat”。 OS Version一项有以下多个版本可选 我们进入主机输入以下命令查看版本号。
uname -a你会看到类似以下的内容 Linux 4.19.0-477.15.5.el8.mylinux.x86_64 #1 SMP Tue Aug 22 18:16:37 CST 2023 x86_64 x86_64 x86_64 GNU/Linux 其中的el8表明你的主机是Linux 8的x86_64则对应选择x86,64-bit。
1.3 选择对应的版本进行下载
至此我们选择了对应的版本。 筛选出来的安装包有大约20个我们根据以下关键字使用CtrlF快捷键快速筛选下载6个安装包。
mysql-community-client-9.0.1-1.el8.x86_64.rpmmysql-community-client-plugins-9.0.1-1.el8.x86_64.rpmmysql-community-common-9.0.1-1.el8.x86_64.rpmmysql-community-icu-data-files-9.0.1-1.el8.x86_64.rpmmysql-community-libs-9.0.1-1.el8.x86_64.rpmmysql-community-server-9.0.1-1.el8.x86_64.rpm
注虽然我们只想安装Mysql服务端即Mysql-server但它依赖于其他的包如果单独安装mysql-server也会提示你安装其他的包如下图所示。
二、在服务器上安装
2.1 按顺序安装
将6个安装包上传到服务器上。按照如下顺序安装。
sudo rpm -ivh mysql-community-common-9.0.1-1.el8.x86_64.rpm
sudo rpm -ivh mysql-community-client-plugins-9.0.1-1.el8.x86_64.rpm
sudo rpm -ivh mysql-community-libs-9.0.1-1.el8.x86_64.rpm
sudo rpm -ivh mysql-community-client-9.0.1-1.el8.x86_64.rpm
sudo rpm -ivh mysql-community-icu-data-files-9.0.1-1.el8.x86_64.rpm
sudo rpm -ivh mysql-community-server-9.0.1-1.el8.x86_64.rpm2.2 安装完成后初步检查安装情况
输入如下命令
whereis mysql
whereis mysqld如果返回的路径是空的那么说明安装还有问题请自己查看安装过程中的报错常见的是安装顺序不对引起的安装失败。 如果返回了路径非空说明mysql已经安装上了如下图所示。
三、参数配置
3.1 创建data目录
mkdir ~/data我计划把路径设置在家目录的data路径下在这个路径新建好目录。
注如果你新建到了别的目录请注意使用ls -l查看目录的所有者和所有组是否为当前用户否则可能会因为数据无权限写入导致的异常。 修改所有者所有组使用以下命令
chown -R 当前用户:当前用户 data路径假如我的用户名为wingasodata路径为/home/wingaso/data那么命令为
chown -R wingaso:wingaso /home/wingaso/data3.2 配置my.cnf
sudo vi /etc/my.cnf将其中的datadir改为指向刚刚创建的data目录路径。 log-error指定了mysqld的日志路径在这个日志中记录了mysql服务端启动与运行时的相关异常信息可以改到用户家目录下或者保持原路径不变也可以。 注修改该文件需要sudo权限。
3.3 初始化mysql
mysqld --initialize这个命令没有返回的内容。我们可以通过ls命令查看data目录是否生成文件来初步确认命令是否创建成功。
ls data看到如下内容 如果使用ls命令查看到data目录下是空的那么请检查data路径的权限可参照以下命令进行权限和所有组的更改。
chmod 755 data
chown -R wingaso:wingaso data3.4 所有者修改
如果你当前用户名是mysql那么你可以跳过本次操作。 否则必须进行修改因为mysql安装后默认所有者所有组均为mysql如下图所示如果不修改会导致mysql因权限问题无法正常启动。 如下图所有者问题会导致sock.lock文件无法创建mysqld启动失败。
3.4.1 目录/文件所有者修改
cd /var/run/
sudo chown -R wingaso:wingaso mysql*
cd /var/lib/
sudo chown -R wingaso:wingaso mysql*
cd /var/log/
sudo chown -R wingaso:wingaso mysql*将以上命令粘贴执行即可注意修改需要sudo权限。 修改后可以通过ls -l命令查看所有者变更情况:
ls -l /var/run/
ls -l /var/lib/
ls -l /var/log/3.4.2 mysqld.service所有者修改
sudo vi /usr/lib/systemd/system/mysqld.service这个文件中User和Group默认为mysql如果你的当前用户名不是mysql那么以服务方式启动mysql将会报错。需要将其中的User和Group改为当前用户名如下图所示。 修改后保存再使用如下语句重新加载配置。
sudo systemctl daemon-reload3.5 启动mysql
sudo systemctl restart mysqld如果上边的步骤都操作无误那么将会成功运行起来否则将会出现以下报错。
3.5.1 运行报错处理
运行建议命令
sudo systemctl status mysqld.service你应该会看到类似以下的报错信息 对于该信息其中我们只能初步得知是权限问题但想单从这个报错中看出是哪里的权限问题简直是天方夜谭。 关键还是得看mysqld.log文件中的详细报错信息。
tail -n 500 /var/log/mysqld.log注如果你在配置my.cnf时已将error-log改为了自定义路径请在对应路径查看日志信息。
3.6 安全配置
3.6.1 获取初始密码
在运行mysqld --initialize后初始密码会保存在mysqld.log文件中通过以下命令可以找出该密码。
grep temporary password /var/log/mysqld.log执行结果如下图所示。 注如果mysqld --initialize执行过多次那么可能会查找出多个初始密码应以最后一个初始密码为准。
3.6.2 进行安全配置
sudo mysql_secure_installation运行该命令会提示输入密码将刚刚获取到的初始密码输入便可进入配置对话。 该命令会对以下几个内容进行设置
为root用户设置密码删除匿名账号取消root用户远程登录删除test库和对test库的访问权限刷新授权表使修改生效
请根据实际情况进行设置。 注如果运行该命令出现如下报错Can’t connect to local Mysql server through socket ‘/var/lib/mysql/mysql.sock’那么一般是mysql没有启动引起的请参照3.5节启动mysql再宠幸执行该命令。
四、验证
mysql -uroot -p
输入密码
show databases;如果能够成功登录到mysql并进行数据库操作说明mysql已经安装完成。安装配置便大功告成了。
五、其他
如果需要主从部署那么需要在主从主机上按照以上步骤将Mysql安装完成后再对Mysql进行专门的主从配置。这部分将会在另一篇文章中细说敬请期待。
参考
MySQL 在 Windows 下安装教程、避坑指南 Mysql安全启动配置向导——mysql_secure_installation生产环境必做的设置