一、Navicat Premium连接数据库
下载Navicat Premium,记得查看注意事项,否则有可能打不开
连接MySQL数据库
连接名自己取一个就行,主机就是服务器的IP地址,下面都不用改,用户名root,数据库如果没有密码就默认123456,连接测试
连接mysql数据库时提示2003 can't connect to MySQL server on ip(10060)的解决办法
因为Mysql默认不允许远程登录,所以需要设置防火墙开放3306端口;
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '数据库连接密码' WITH GRANT OPTION;
在安全组中开放3306的端口
二、数据库的一些终端操作命令:
1.数据库指令:
service mysqld start 启动MySQL
service mysqld restart 重启MySQL
service mysqld stop 停止MySQL`
2.进入MySQL表单操作
# -u root -p /mysql -h localhost -u root -p DatabaseName; 进入MySQL`
MySQL> show databases; 列出数据库
MySQL> create database XXX; 创建数据库XXX
MySQL> use databaseName; 使用数据库databaseName
MySQL> show tables; 列出表单
MySQL> create table mytablename (ID int auto_increment not null primary key,usename varchar(20),password varchar(64),sex varchar(10),address varchar(20)); 创建表单
MySQL> drop table mytablename ; 删除表单
MySQL> drop database databasename; 删除数据库
3.增删改查
MySQL> insert into mytablename values(
''
,'zhangsan'
,'123456'
,'fomale'
,'guiyanag'
); 插入
MySQL>select
* from mytablename ; 查找验证结果
MySQL>select
* from mytablename where ID =
'1'
; 精准查找 MySQL> update mytablename` `set` `address =` `'shanghai'` `where username =` `'zhangsan'
; 修改zhangsan的address为Shanghai
MySQL> delete from mytablename where ID ='1'``; 删除记录
注意:Mysql 遇到如下错误:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。
解决如下两步:一.跳过权限,以无密码的方式进入mysql;二.选择mysql数据库,删除user表中的空用户
以下为示例:
1.关闭mysql服务:service mysqld stop
-
找到mysql安装目录下的my.cnf或my.ini文件,打开并在[]mysqld]下添加skip-grant-tables
在Linux下安装的数据库,my.cnf在/etc目录下也有一份,注意
3.重新启动mysql:service mysqld start
- 进入bin目录下,免密码登录,password直接回车,下图可以看出已经进入mysql
5.此时show databases看一下,所有数据都存在了
6.选择mysql数据库,use mysql;
7.说了那么久的'空'到底是个什么玩意呢,查看mysql下的user表,select user,host from user;
*注意看查询表的第三行,用户为空,同时可以看出localhost映射了'空'和root,那么只要干掉'空'问题就解决了.
8.删除'空'
9.再次查看,确认'空'是否删除
10.退出,并且删除my.ini下的skip-grants-tables;重新登录(用户名+密码,需要改密码,在免密登录后修改不做赘述)