0%

mysql-笔记

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
2
UPDATE user SET Password = password ( 'password' ) WHERE User = 'root';
FLUSH PRIVILEGES;

mysql8.0及以上修改加密方式,使navicat可以登录

1
2
3
-- 默认为caching_sha2_password加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

字符集及时区信息

character_set_server 服务器字符集,默认的字符集

character_set_client 客户端数据使用的字符集

character_set_connection 连接层字符集

character_set_database 数据库字符集

character_set_results 查询结果字符集

character_set_system 系统元数据字符集

使用cli

1
2
3
SHOW VARIABLES LIKE 'character%'; -- 查看字符集
SET @@global.character_set_server = utf8; -- 永久设定字符集
SET character_set_server = utf8; -- 临时设定字符集

修改配置文件

/etc/mysql/my.conf

1
2
3
default-character-set=utf8 #utf8mb4
default-collation=utf8_general_ci #utf8mb4
-- ci代表不区分大小写,cs代表区分大小写

docker使用mysql

使用mysql并配置相关环境变量

1
2
3
4
5
6
7
8
docker run --name mysql \
-p 3306:3306 \
-v /opt/server_data/mysql_data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai \
-d mysql:5.6 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci

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;

引用:

MySQL字符集与排序规则总结 - 潇湘隐者 - 博客园 (cnblogs.com)

MySQL -- 创建用户 CREATE USER 、GRANT语句

恰饭,恰饭