mysql数据库essay-1

/ mysql数据库 / 没有评论 / 82浏览

我一直用的是8.0.*,所以很多网上的配置已经废弃了,为了准确进行配置一定要详细观看官方的文档!!! https://dev.mysql.com/doc/refman/8.0/en/ 所有内容都是以8.0.*为版本基础

mysql8.0.11安装和密码

采用安装完rpm包后

mysqld --initialize 

然后通过控制台输出的log里查找随机密码用来登陆

登陆后,更改用户随机的密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

字符集

对于mysql8.0.11来说几乎不用设置。。因为大部分默认配置就是utf8mb4(支持emoji表情的字符集)

如果需要配置,那么可以从启动参数来配置文档地址:https://dev.mysql.com/doc/refman/8.0/en/server-options.html#option_mysqld_character-set-server

也可以直接通过配置文件来进行配置例如:

[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
character-set-server = utf8mb4
collation-server=utf8mb4_0900_ai_ci
[client]
default-character-set=utf8mb4

关于配置文件my.cnf位置。大部分可能是/etc/my.cnf或者/etc/mysql/my.cnf。或者观看https://dev.mysql.com/doc/refman/8.0/en/option-files.html这里。但是我的是Homebrew 安装的,所以在/usr/local/etc/my.cnf。

设置完成重启系统后,通过sql语句来查看当前的配置。

show variables like 'collation%';
show variables like '%char%'; 

结果如下: 1534224782107.jpg

1534225090343.jpg

其中character_set_system 一直是utf8不用更改。character_set_filesystem是binary

character-set-server 和collation-server 是基础的字符设置。character_set_database 和 collation_database 是跟随它的,官方建议,最好不要手动设置这两个。 https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_character_set_database

default-character-set=utf8mb4 会同时影响character_set_client,character_set_connection,character_set_results

对于,已经存在的数据库,如果需要将以前的utf8更改为utf8mb4,需要手动进行操作。有篇博客可以学习下:https://docs.lvrui.io/2016/08/21/%E4%BF%AE%E6%94%B9MySQL%E7%9A%84%E5%AD%97%E7%AC%A6%E9%9B%86%E4%B8%BAutf8mb4/

如果需要具体的操作,还是多看看官方文档。