- 本文使用的Linux发行版本为AlmaLinux 9.2 64位(CentOS停止更新后的完美替代发行版本)。
- 本文安装的MySQL版本为8.1.0,其他版本方法类似。
- MySQL源码编译时间太长了,需要3到4小时,使用官网编译好的rpm更简单快捷。
操作步骤
- 更新系统。
dnf -y update
- 查看是否已经有安装了的mysql或MariaDB。
rpm -qa | grep mysql rpm -qa | grep mariadb
- 如果有已经安装的MySQL或MariaDB,使用如下命令删除。
rpm -e <查到的包名> --nodeps
- 获取RPM包链接。
- 前往MySQL下载官网。
- 找到对应Linux发行版本的Repository,然后右键
Download
,复制链接。
- 下载RPM包。
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.1.0-1.el9.x86_64.rpm-bundle.tar
- 解压RPM包。
tar -xvf mysql-8.1.0-1.el9.x86_64.rpm-bundle.tar
- 安装MySQL。
rpm -ivh --nodeps mysql-community-*
- 初始化。(5.6及以下跳过)
mysqld --initialize
- 为安装目录加权限。(5.6及以下跳过)
chown -R mysql:mysql /var/lib/mysql/
- 启动MySQL。
systemctl start mysqld
你可以通过
systemctl status mysqld
查看MySQL服务的状态,使用systemctl stop mysqld
停止MySQL服务。 - 设置开机启动。
systemctl enable mysqld
- 更改密码。
- 查看默认密码。
grep 'temporary password' /var/log/mysqld.log
- 5.6使用
find / -name mysql_secret
找到密码文件,然后打开即可查看默认密码。 - 5.5以下不需要输入密码,直接mysql进入数据库。
- 5.6使用
- 进入数据库。
mysql -uroot -p
输入查询的默认密码,输入时密码不可见,敲回车即可。
- 修改密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
- 使用
exit
退出数据库后,使用新密码重新进入即可。
- 查看默认密码。
- 开启远程访问。
- 查找
my.cnf
文件(my.cnf
文件一般在/etc/my.cnf
)。find / -name my.cnf
- 编辑
my.cnf
文件。vim /etc/my.cnf
- 在最后按
i
添加bind-address=0.0.0.0
。如果你的MySQL部署在云服务器上,还需要在云服务器上对外开启3306端口。
- 输入:wq!保存并退出。
- 重启服务。
systemctl restart mysqld
- 查找
- 授权root用户可以远程访问。
- 进入数据库。
mysql -uroot -p
- 执行如下SQL修改root权限。
use mysql UPDATE user set host='%' WHERE user='root'; GRANT ALL PRIVILEGES ON *.* TO root@'%';
- 进入数据库。
- 现在就可以从外部访问MySQL数据库了。
mysql -h <服务器IP> -P 3306 -u root -p