安装Wampserver64 一步到位(开发、连接远程都可以)。
安装MySQL Workbench 8.0 CE(连接数据库工具)
Navicat Premium 16
以下是在Ubuntu上安装MySQL的详细步骤:
打开终端并更新软件包列表
sudo apt-get update
安装MySQL服务器和客户端
sudo apt-get install mysql-server mysql-client
在安装过程中,您将被要求创建MySQL root用户的密码。输入并记住此密码。
随后,MySQL服务器将自动启动,并且将在系统启动时启动。
检查MySQL是否正在运行
sudo systemctl status mysql
(可选)为MySQL设置更高的安全性 MySQL附带了一个称为mysql_secure_installation
的脚本,该脚本可以帮助您进行一些初始设置以提高安全性。您可以通过以下命令启动该脚本:
sudo mysql_secure_installation
连接到MySQL服务器
sudo mysql -u root -p
在提示符下输入之前创建的MySQL root密码,然后按Enter键即可连接到MySQL服务器。
如果您在Ubuntu上安装了MySQL,并尝试使用MySQL Workbench 8.0 CE连接到MySQL服务器时,出现拒绝访问的错误,请按照以下步骤解决问题:
sudo systemctl status mysql
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
在文件中,找到bind-address
和port
选项。确保bind-address
设置为127.0.0.1
,port
设置为3306
。
检查MySQL用户和密码是否正确。请确保使用正确的用户名和密码连接到MySQL服务器。
检查防火墙设置。如果您的Ubuntu系统启用了防火墙,则需要允许MySQL服务器通过防火墙。您可以使用以下命令打开MySQL服务器所需的端口:
sudo ufw allow 3306/tcp
telnet localhost 3306
如果成功连接,您应该看到一些字符输出。如果连接失败,则表示MySQL服务器可能未正确配置或未启动。
希望这些步骤能够帮助您解决连接MySQL服务器的问题。
如果您在Ubuntu上安装了MySQL,并且想要为用户赋予远程登录权限,可以按照以下步骤操作:
qianniu
的用户:CREATE USER 'qianniu'@'%' IDENTIFIED BY 'pwd123456*';
qianniu
从任何IP地址连接到MySQL服务器。如果您只希望允许特定IP地址连接,请将%
替换为相应的IP地址。GRANT ALL PRIVILEGES ON *.* TO 'qianniu'@'%';
FLUSH PRIVILEGES;
现在,用户qianniu
已被授予从任何地方远程登录MySQL服务器的权限。请注意,这可能会降低系统的安全性,因此建议仅为必要的用户授予远程登录权限,并使用安全的密码策略来保护账户安全。
如果您在Ubuntu上安装了MySQL,并且想要更改root用户的密码,可以按照以下步骤操作:
mysql -u root -p
输入当前的root用户密码以登录到MySQL shell。
更改root用户密码。在此示例中,我们将更改root用户的密码为“pwd123456”:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pwd123456*';
FLUSH PRIVILEGES;
现在,root用户的密码已被更改为“pwd123456”。请注意,在生产环境中,请使用强密码来保护服务器的安全性。
如果不停止的话,会导致端口冲突,也可以直接卸载
sudo systemctl stop mysql
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /etc/mysql/ /var/lib/mysql/
sudo apt-get autoremove
以上步骤将卸载 MySQL 并完全删除其相关文件和目录。
# 列出mysql进程
ps -ef | grep mysql
# 列出mysql网络
netstat -anp | grep mysql
# 查找3306端口是否被占用
sudo lsof -i:3306
获取镜像
# 拉取镜像
sudo docker pull mysql:5.7
启动mysql
sudo docker run --name mysql -p 3306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_ROOT_HOST='%' --restart=always -d mysql:5.7
指定容器名:
–name mysql
映射端口:
-p 宿主机端口:容器端口挂载配置文件数据卷:(宿主机目录:容器目录)
-v /usr/local/mysql/conf:/etc/mysql/conf.d
挂载数据库数据卷:(宿主机目录:容器目录)
-v /usr/local/mysql/data:/var/lib/mysql
指定root密码:
MYSQL_ROOT_PASSWORD=123456指定任意主机登录,相当于bind address:
MYSQL_ROOT_HOST=‘%’:
跟随docker自启动:
–restart=always
后台运行:
-d
# 进入容器
docker exec -it [容器id] bash
# 在容器内登录mysql
mysql -u root -p
输入密码:123456
# 查看数据
show databases;
查看防火墙是否允许通过 3306 端口进行流量传输,请按照以下步骤操作:
ufw
防火墙,您可以使用以下命令检查其状态:sudo ufw status
sudo ufw allow 3306/tcp
sudo ufw status numbered
此命令会列出防火墙规则及其编号。请确保已添加的规则具有正确的端口号和协议(例如,TCP 或 UDP)。
查看 Docker 容器是否在运行并使用 3306 端口,请按照以下步骤操作
docker ps
-p 3306:3306
如果您在启动容器时使用了其他端口映射设置,则需要相应地更改以下步骤中的端口号。
docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql
nc -vz <container_ip_address> 3306
请将
替换为上一步骤中获取的 MySQL 容器 IP 地址。
如果输出类似于下面的内容,则表示端口已经打开且可以被访问:
Connection to <container_ip_address> 3306 port [tcp/mysql] succeeded!
如果输出类似于下面的内容,则表示端口无法访问:
nc: connect to <container_ip_address> port 3306 (tcp) failed: Connection refused
以上步骤将帮助您确定 Docker 容器是否正在使用 3306 端口,并检查该端口是否能够被外部客户端连接。