使用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;