mysql
密码与访问
配置远程访问
授权法
GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD]]
- priv_type 参数表示新用户的权限;
- database.table 参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;
- user 参数指定新用户的账号,由用户名和主机名构成;
- IDENTIFIED BY 关键字用来设置密码;
- password 参数表示新用户的密码。
1
2
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; -- 允许授予他人同等权限
FLUSH PRIVILEGES;
1 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; -- 允许授予他人同等权限 |
改表法(不常用)
1 | UPDATE user SET Password = password ( 'password' ) WHERE User = 'root'; |
mysql8.0及以上修改加密方式,使navicat可以登录
1 | -- 默认为caching_sha2_password加密方式 |
字符集及时区信息
character_set_server 服务器字符集,默认的字符集
character_set_client 客户端数据使用的字符集
character_set_connection 连接层字符集
character_set_database 数据库字符集
character_set_results 查询结果字符集
character_set_system 系统元数据字符集
使用cli
1 | SHOW VARIABLES LIKE 'character%'; -- 查看字符集 |
修改配置文件
/etc/mysql/my.conf
1 | default-character-set=utf8 #utf8mb4 |
docker使用mysql
使用mysql并配置相关环境变量
1 | docker run --name mysql \ |
sql指令
limit
limit是用来限制查询结果的
1 | SELECT * FROM TABLE LIMIT m,n |
其中m是指记录开始的index,从0开始,表示第一条记录 n是指从第m+1条开始,取n条。 select * from tablename limit 2,4 即取出第3条至第6条,4条记录
order
order子句用来排序表,order by 后加列名 如果要逆序 在列名后加 desc 正序ASC
1 | SELECT * FROM `table` ORDER BY `column` ASC; |

