MySQL数据库操作及编码格式

使用root无法进入mysql

//所有链接里面的操作全部亲测过有效

windows 重置root密码(当使用正确的密码登陆不进去的时候)

https://www.cnblogs.com/jiliunyongjin/p/7559988.html

mac 重置root密码

https://www.jb51.net/article/108163.htm

注意:mysql不同的版本,其中设置密码的那个命令会有不同,本人用的是5.5的,如果是5.7的会有别的设置方式。

可以使用root进入mysql,修改密码

https://www.cnblogs.com/fnlingnzb-learner/p/6433784.html前三种方法,第四种方法是在root用户无法进入的情况下,可以试试,不行的话可以采用本文前面说明的方法。

创建用户及更改权限等设置

https://www.cnblogs.com/sos-blue/p/6852945.html

如果在创建用户后,不设置权限,则其权限相当于未0;即无法进入任何数据表,也就无法操作任何数据。

查看当前用户

select user();        //查看当前用户
select database();    //查看当前操作表

查看所有用户

在root用户模式下或者有查看mysql数据库权限的用户

use mysql;
select * from user;
//上面的命令说过在命令行模式下面看会很乱
//所以可以取出我们需要的数据
select host,user,password from user;

我们可以看到有两个root和两个重名的自定义用户。因为它们的host不同,所以虽然名字相同但是实际是不同的用户。当我们在本地登陆数据库时,使用的是localhost的root,当我们远程登陆的时候使用的%(表示任意ip地址)的root。

远程登陆

mysql -h192.168.100.1 -P3306 -uroot -p123;
//-h后面跟的是对端ip地址
//-P后面跟的是端口号,一般没有特殊设置默认为3306
//-u后面跟的是用户名,需要确认该用户是否有远程访问的权限,root用户默认有远程登陆的权限
//-p密码

修改编码格式

在mysql中查找数据和插入数据时经常会遇到字符不匹配的问题,从而显示的为乱码。

我们需要注意的是2块地方,一块是客户端,一块是服务器。

客户端就是我们当前的操作界面,在windows下也就是dos下,这一部分是根据我们的操作系统决定的,其编码格式为gbk。而在mac下,客户端的编码格式为utf-8;

服务器就是实际存储数据的地方,这一部分我们根据实际来决定其编码格式。

所以,我们在设置编码格式的时候,原则就是设置客户端的编码格式为当前操作系统用的编码格式。而服务器端为了适应主流的情况设置为utf-8。

windows修改编码格式

关闭mysql服务

说明:本人有两个mysql服务,一般只有一个。怎么打开windows服务,可以百度。

修改C:\Program Files\MySQL\MySQL Server 5.5中的my.ini文件

只要修改这两个地方就可以了,保存。

注意:网上别的很多博客全部把mysql下面的也设置成了utf8。但是本人试了一下,在插入数据的时候还是会报错,需要敲入命令set names gbk;相当于就把客户端的编码格式设置为gbk。那么我们就应该在配置文件中就直接修改为gbk。

重启mysql服务。

登陆dos中的mysql界面。

输入show variables like '%char%';查看结果。

重新建立一张数据表,执行插入中文操作,应该就可以了。

注意:上面的修改只限于新建立的数据表,原来的表的编码格式不会改变,所以如果直接在原来的表上执行插入和查找操作,可能会出现乱码。

如果已经是建立好的表,修改编码格式,可以参考

https://blog.csdn.net/luo4105/article/details/50804148

增加一条:

//修改数据库的编码
alter database db_test character set utf;

mac修改编码格式

https://www.jianshu.com/p/362ca4b4e412

按照上面的操作其实是可以成功的。

但是本人在mysql自带的tets数据库中建立的数据表中进行插入操作是可以的,但是进行查询操作的时候,显示的为?。查看了一下编码格式.

那个拉丁文始终没有办法变成utf8.

然后本人就新建了一张表,发现全部都是utf8了。在里面进行插入,查询操作都可以正确的显示中文了。

补充:后来使用单条的改变数据库,改变数据表,改变列的编码格式也可以成功

mysql 数据表操作

1.show databases;

显示所有数据库文件

2.use test_db;

进入test_db数据库。在已经进入数据库的情况下,可以直接用use进入其他数据库

3.show tables;

显示当前数据库文件所有的表

4.show columns from stu

显示stu表的列名,主键,类型等信息

5.create database hello

创建hello数据库文件

6.drop database hello

删除hello数据库文件

7.查看数据库编码

\s或者show variables like '%char%';

8.查看表的编码格式

show create table stu;

9.查看字段编码格式

show full columns from stu;

10.事务操作

begin;
insert into stu values (1,'aaa',222);
insert into stu values (2,'bbb',333);
commit;/rollback;

关于增删改查这些操作sql可以看我的另外一片博文

https://mp.csdn.net/postedit/81201216

猜你喜欢

转载自blog.csdn.net/qq_34759481/article/details/82423286