MySQL安装配置
配置 MySQL 源
首先,需要添加 MySQL 的 Yum 源,确保安装的是最新版本的 MySQL。
1 | sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm |
安装 MySQL Server
安装 MySQL Server:
1 | sudo yum install mysql-community-server |
启动 MySQL 服务
1 | sudo systemctl start mysqld |
初次登入
获取 MySQL 临时 root 密码
在 MySQL 安装过程中,会生成一个临时的 root 密码,查看日志文件来获取它:
1 | sudo grep 'temporary password' /var/log/mysqld.log |
这将输出类似如下的临时密码:
1 | 2025-03-05T09:40:27.489070Z 1 [Note] A temporary password is generated for root@localhost: abc123xyz |
记下临时密码(例如 abc123xyz)。
安全配置 MySQL
使用临时的 root 密码进行登录并运行 MySQL 安全配置:
1 | sudo mysql_secure_installation |
在此过程中,您将被要求输入临时的 root 密码,之后您可以设置一个新的 root 密码,移除匿名用户,禁用远程 root 登录等。
如果您已经设置了 root 密码,并且登录成功,您将看到类似如下的信息:
1 | Welcome to the MySQL monitor. Commands end with ; or \g. |
登录
本地登入
使用临时的 root 密码进行登录,如果进行了安全配置改了密码就用改了的
1 | mysql -u root -p |
远端登入
远端登入有两个前提,在安全配置时选择允许远端登入
1 | Disallow root login remotely? (Press y|Y for Yes, any other key for No) : No |
其实修改本地配置 并在服务器安全组开放对应端口:
1 | sudo vim /etc/my.cnf |
在 [mysqld] 部分添加:
1 | [mysqld] |
完整示例如下:
1 | [mysqld] |
然后重启服务器
1 | sudo systemctl restart mysqld |
检查 MySQL 是否正确监听 IPv4:
1 | sudo netstat -tulnp | grep mysql |
如果显示:
1 | tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 4101/mysqld |
说明 MySQL 现在可以接受远程连接了。
这里用到了3306端口,想成功访问,得到服务器后台安全组添加一条IPv40 0.0.0,端口3306规则。
确保用户能远程访问
在远端登入步骤后如果还不行,MySQL用户配置是否正确:
在服务器上本地进入MySQL
1 | mysql -u root -p |
检查用户权限:
1 | SELECT user, host FROM mysql.user; |
如果 root 只允许 localhost,需要修改:
1 | ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword'; |
或者新建个远程用户,授予新用户足够的权限(这里给的是数据库的所有权限):
1 | CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword'; |
测试远程登入
直接root登入
1 | mysql -h <MySQL服务器IP> -P 3306 -u root -p |
或者myuser用户登入
1 | mysql -h <MySQL服务器IP> -P myuser -u root -p |
如果成功进入 mysql>,说明 MySQL 远程连接已配置完成!🚀。
如果还没法登录 可以看下服务器防火墙设置,并开放对应端口规则。
其他常用操作
查看所有数据库:
1 | SHOW DATABASES; |
选择一个数据库 db_name:
1 | USE db_name; |
查看当前数据库中的所有表:
1 | SHOW TABLES; |