目标:熟练连接到mysql服务器
--------------------------------------------------------------------------------------------------------------------------------
1:数据库服务客户端工具:navicat、mysql_workbench、phpmyadmin(需要php环境)、SQLyog
2:使用客户端工具远程连接mysql服务器:检查事项
- 网络连通性(畅通): 远程客户机 <--------> 数据库服务器
- mysql 服务器状态信息
- 主机名(计算机名):远程服务器(ip地址)、本地MySQL服务器(localhost)
- 端口号:默认端口(3306)
- 访问权限控制:配置远程访问权限
- 服务状态:
- 开启: service mysql start
- 关闭: service mysql stop
- 防火墙状态:
- 关闭防火墙
- 将mysql加入到防火墙的允许访问列表
- 访问用户操作权限:用户名、密码
- Mysql管理员用户(root)、普通用户(个人帐号访问)
- 空密码不允许远程访问
- 设置密码:mysqladmin -uroot password 'p'
- 修改密码:mysqladmin -uroot -p‘oldp’ password ‘newp’
3:远程访问 centos_Mysql服务,常见错误
- 远程访问报错1:【10060:Unknown error】
- 原因分析:检查centos服务器相关事项(如:防火墙服务、Mysql服务运行状态)
- 解决方案1:查看防火墙运行状态,关闭防火墙
- 远程访问报错2:【1045:拒绝用户root访问】
-
原因分析1: root用户访问权限设置
- 解决方案:
- 查看当前用户root的权限:会发现在user表,无root用户远程访问权限
- mysql> show databases;
- mysql> use mysql;
- mysql> show tables;
- mysql> select user,host,password from user;
- 返回结果中:无相关数据(如图):
- 增加赋权限:
- 增加权限:mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
- 刷新权限表:mysql> FLUSH PRIVILEGES;
- 验证权限:mysql> SELECT user, password, host FROM user;
- 查看当前用户root的权限:会发现在user表,无root用户远程访问权限