报错:
(1045)报错一:密码错误,重新输入密码.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
如果忘记mysql密码,解决办法:
1. 首先设置跳过密码登陆数据库(文本编辑器打开)
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
2. 在其中找一行加入以下代码以跳过密码,加入后保存。
skip-grant-tables
3. 重启mysql服务
service mysql restart
4. 登录mysql,回车后发现还让输入密码,再回车即可
mysql -u root -p
5. 登录成功后,在有"mysql>"的终端中依次输入
use mysql;
flush privileges;
UPDATE user SET authentication_string='' WHERE user='root';
flush privileges;
ALTER user 'root'@'localhost' IDENTIFIED BY '你的密码';
在该过程中没有出现error即为成功,若在最后设置密码出错,请看报错四。
6. 输入 exit; 退出mysql;
7.回过头来执行第一步,打开mysqld.cnf,删除之前加上的skip-grant-tables,并点击保存。
8.重启mysql,并登录,输入刚才设置的密码,即可成功!
service mysql restart
mysql -u root -p
(1449)报错二:误删用户
mysql> show databases;
ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist
解决:
create user 'mysql.infoschema'@'%' identified by '你的密码';
grant all privileges on *.* to 'mysql.infoschema'@'%';
(1064)报错三:输入的sql语句语法不对
ERROR 1064 (42000):You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.infoschema’@‘127.0.0.1’' at line 1
解决:查看输入的语句有无字母拼写错误,有无空格多加,SQL关键字冲突,是否和同库下其他表冲突,有没有加分号等。 如果还是不行,更换表的名称,或字段的名称。
(1819)报错四:密码格式不符合策略
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解决:
登录到mysql后,输入以下代码查看密码策略
SHOW VARIABLES LIKE 'validate_password%';
如图策略为:
validate_password.length 为8:密码有效长度为8位
validate_password.mixed_case_count 为1:密码至少要包含的小写字母个数和大写字母个数为1
validate_password.number_count 为1:密码至少要包含的数字个数为1
validate_password.special_char_count 为1:密码至少要包含的特殊字符个数为1
(1044)报错五:root'@'%无权限
(1044, "Access denied for user 'root'@'%' to database 'information_schema'")
解决:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果还不行的话就切换数据库。
mysql数据类型:
- 数值型:
- 整数型(如 INT, SMALLINT):用于存储整数值,根据不同的需求,有不同的大小限制和存储范围。
- 浮点数型(如 FLOAT, DOUBLE):用于存储带有小数部分的数值,支持较大的数值范围和小数精度。
- 小数型(如 DECIMAL):用于存储固定精度和小数位数的数值,适用于财务计算等需要精确小数的场景。
- 字符串型:
- 字符型(如 CHAR):用于存储固定长度的字符串。
- 变量长度型(如 VARCHAR, TEXT):用于存储可变长度的字符串,根据实际内容占用空间。
- 逻辑型:
- 布尔型(如 BOOLEAN):用于存储真或假的逻辑值。
- 日期时间型:
- 日期型(如 DATE):用于存储日期信息,通常包括年月日。
- 时间型(如 TIME):用于存储时间信息,通常包括小时、分钟和秒。
- 日期时间型(如 DATETIME, TIMESTAMP):结合了日期和时间信息,可以同时存储年月日时分秒。
常用语法:
- 查看有哪些数据库
show databases;
- 查看表的结构
desc 表名;
- 使用数据库,增删查改前使用
use 数据库名;
- 创建表
CREATE TABLE 表名(sec INT,line FLOAT, ang FLOAT)
其中 sec 为表中的字段名,INT为整型数据,后面以此类推。
- 查询表
- 查询表中所有内容
SELECT * FROM 表名;
-
按照某个名称查询
SELECT * FROM 表名 WHERE name=名称;
其中name必须为你当前表中的字段名。
-
查询表中有多少行数据
select count(*) from speed_trend;
- 查询表中所有内容
- 插入表,样例
INSERT INTO 表名 (sec,line,ang) VALUE (3,0.453,0.421);
- 删除表
- 删除整个表即清空表内容
DELETE FROM 表名;
- 按照某个名称删除
delete from 表名 where name=“小爱”;
- 删除整个表即清空表内容
- 更新表
update 表名 set line=0.229899 where sec=54;
即将表中sec(秒)等于54的line(线速度)改为0.229899