Linux 安装与配置 MySQL 教程
一、准备工作
在开始安装 MySQL 之前,得先确保系统环境没问题。首先,打开终端,输入uname -a查看一下 Linux 系统的版本信息,不同的版本在安装过程中可能会有些细微差别,但大体步骤差不多。
另外,要检查系统中是否已经安装了 MySQL 相关的旧版本,如果有的话,最好先卸载干净,避免冲突。可以使用命令rpm -qa | grep mysql来查看是否有已安装的 MySQL 包,如果有,就用rpm -e --nodeps 包名来卸载,这里的--nodeps是忽略依赖关系强制卸载。
二、安装 MySQL
(一)添加 MySQL 源
以 CentOS 系统为例,我们可以从 MySQL 官网下载对应的 yum 源包。在终端中输入wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm,这个命令会下载适用于 CentOS7 的 MySQL 源包。如果你的系统是其他版本,就去官网找对应的源包地址。
下载完成后,安装这个源包,输入rpm -ivh mysql80-community-release-el7-3.noarch.rpm。安装成功后,系统的 yum 源里就有了 MySQL 的相关信息。
(二)安装 MySQL 服务
接下来,使用 yum 命令安装 MySQL 服务,输入yum install -y mysql-community-server。这个过程可能需要一点时间,系统会自动下载并安装所需的组件,耐心等待就行。
(三)启动 MySQL 服务
安装完成后,启动 MySQL 服务,输入systemctl start mysqld。然后可以用systemctl status mysqld来查看服务的运行状态,如果显示 “active (running)”,就说明启动成功了。
为了让 MySQL 服务在系统开机时自动启动,输入systemctl enable mysqld。
三、配置 MySQL
(一)获取初始密码
MySQL 安装完成后,会生成一个初始密码,我们可以在日志文件中找到。输入grep 'temporary password' /var/log/mysqld.log,终端会显示出类似 “root@localhost: 初始密码” 的内容,把这个初始密码记下来。
(二)登录并修改密码
在终端输入mysql -u root -p,然后会提示输入密码,把刚才记下来的初始密码输入进去(输入密码时终端不会显示字符,输完直接按回车就行),成功登录后就进入了 MySQL 的命令行界面。
接下来需要修改初始密码,输入ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';。这里要注意,MySQL 对密码有一定要求,通常需要包含大小写字母、数字和特殊字符,不然可能会提示密码不符合要求。
(三)配置远程访问(可选)
如果需要在其他电脑上远程访问这台 Linux 上的 MySQL,就需要进行相关配置。在 MySQL 命令行界面中,输入use mysql;切换到 mysql 数据库,然后输入update user set host = '%' where user = 'root';,这个命令是允许 root 用户从任何主机登录。
之后输入flush privileges;刷新权限,使配置生效。
另外,还要检查 Linux 系统的防火墙是否开放了 MySQL 的 3306 端口。可以输入firewall-cmd --zone=public --add-port=3306/tcp --permanent开放 3306 端口,然后输入firewall-cmd --reload重新加载防火墙配置。
四、安装过程中可能遇到的问题
(一)yum 安装时提示 “无法找到包”
这种情况可能是因为 MySQL 源没有正确安装或者源的配置有问题。可以先检查源是否安装成功,输入rpm -qa | grep mysql-community-release,如果有对应的包,说明源安装成功。如果没有,重新下载并安装源包试试。另外,也可以清理一下 yum 缓存,输入yum clean all和yum makecache,然后再尝试安装。
(二)启动 MySQL 服务失败
可以查看 MySQL 的日志文件来排查原因,输入cat /var/log/mysqld.log,日志中会有详细的错误信息。常见的原因可能是端口被占用,MySQL 默认使用 3306 端口,可以用netstat -tlnp | grep 3306查看是否有其他程序占用了这个端口,如果有,关掉占用端口的程序或者修改 MySQL 的端口。修改端口的话,需要编辑 MySQL 的配置文件/etc/my.cnf,在文件中添加port=新端口号,然后重启 MySQL 服务。
(三)初始密码无法登录
可能是因为在日志文件中找错了初始密码,仔细检查一下日志内容,确保找到的是正确的初始密码。如果实在找不到或者密码无效,可以尝试重置密码。首先停止 MySQL 服务,输入systemctl stop mysqld,然后以跳过权限验证的方式启动 MySQL,输入mysqld_safe --skip-grant-tables &,之后登录 MySQL(不需要输入密码),进入命令行界面后,输入use mysql;,然后输入update user set authentication_string=password('新密码') where user='root';,刷新权限后重启 MySQL 服务即可。