位图记录的数据,统计每个位上的数据
解决mysql没有root用户问题
先说这个问题产生的影响,这个跟解题有关,有必要说明,我的user表没有任何一个用户,包括root,所以一开始我要给权限,方便后续操作:
vim /etc/my.cnf
skip-grant-tables #在[mysqld]下面添加这一行,忽略权限表
然后重启mysql:
/etc/init.d/mysqld restart
先说解决步骤:
1.创建root用户
2.给予root所有权限
过程:
1.创建root用户:
create user 'root'@'localhost' identified by '123457';
localhost表示本地,mysql登入的时候,不用指定ip登入
此步骤可能会报以下错误,没报错的跳过(直接到权限那一步),用一下方法解决:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
输入:
flush privileges;
此时再次重新创建用户:
create user 'root'@'localhost' identified by '123457';
如果再次报错,这步没报错的也是直接跳到赋予权限那一步,报错的以下操作:
drop user 'root'@'localhost';
再次重新创建用户:
create user 'root'@'localhost' identified by '123457';
结果没有再报错,root用户创建成功。 下面赋予root权限:
#赋予所有库所有表操作权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
flush privileges;
exit
到这一步没有报错,表明已经成功了,不过要把最开始的配置文件恢复:
#删除配置文件中的
vim /etc/my.cnf
skip-grant-tables
退出,重启mysql:
/etc/init.d/mysqld restart
最后,测试:
mysql -uroot -p123457 #可以登入的话,表示前面的操作没问题
Ubuntu 18.04 Mysql每次访问需要加sudo的问题
1.修改root用户
mysql> use mysql;
mysql> select User,Host,plugin from user;
查看root用户权限,是否是mysql_native_password
,如果不是,则将auth_sock
改为mysql_native_password
mysql> update user set plugin='mysql_native_password' where user='root';
或者习性下面语句,这样就不需要执行第二步的内容了
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
2.修改或者设置root用户密码
首先用debian-sys-maint登录,密码在/etc/mysql/debian.cnf文件
mysql> mysql -u debian-sys-maint -p
然后修改root密码(密码可与之前的一样):
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
然后,quit;退出。
经过这两步之后便可以使用 mysql -u root -p登录 Mysql, 不需要带上sudo.
参考
Mysql免密登录
解决方法:
sudo vim /etc/mysql/my.cnf
添加:
[mysqld]
skip-grant-tables
保存,退出。 然后执行以下两条命令来重启mysql服务:
service mysqld stop
service mysqld start
或者直接执行重启服务的命令:
service mysqld restart
重启完以后,上面对配置的修改才正式生效,这时候再登录就不用加sudo了。
原文链接:https://blog.csdn.net/BigData_Mining/article/details/107318193
基本SQL语句
创建数据库并设置字符集
CREATE DATABASE `carlife` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MySQL索引原理以及查询优化
1、介绍
1.1、什么是索引?
一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。
1.2、为什么要有索引呢?
索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能 非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。 索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高好几个数量级。 索引相当于字典的音序表,如果要查某个字,如果不使用音序表,则需要从几百页中逐页去查。
Read on →