数据库的操作与连接

一、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 启动MySQLservice 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

  1. 找到mysql安装目录下的my.cnf或my.ini文件,打开并在[]mysqld]下添加skip-grant-tables



    在Linux下安装的数据库,my.cnf在/etc目录下也有一份,注意

3.重新启动mysql:service mysqld start

  1. 进入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;重新登录(用户名+密码,需要改密码,在免密登录后修改不做赘述)

你可能感兴趣的:(数据库的操作与连接)