Mariadb的安装及相关配置
发布时间:2020-12-13 14:30:54 所属栏目:百科 来源:网络整理
导读:1 安装Mariadb 使用默认的 yum install mariadb-server时,默认安装的是和Mysql相兼容的5.5版本。想要安装更高的版本,必须先指定yum源。 1.1 使用源配置向导 配置向导: https://downloads.mariadb.org/mariadb/repositories 可以选择合适的操作系统和想要安
1 安装Mariadb使用默认的 yum install mariadb-server时,默认安装的是和Mysql相兼容的5.5版本。想要安装更高的版本,必须先指定yum源。 1.1 使用源配置向导配置向导: https://downloads.mariadb.org/mariadb/repositories 可以选择合适的操作系统和想要安装的Mariadb版本,然后自动生成源配置。 1.2 生成Mariadb.repo# tee /etc/yum.repos.d/Mariadb.repo << EOF copy入以下源配置, # MariaDB 10.3 CentOS repository list - created 2018-08-29 02:43 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 1.3 yum makecache fast1.4 yum install MariaDB-server MariaDB-client -y2 修改默认字符集MariaDB默认字符集都是lartin1, 后续调用的时候都需要修改配置文件来修改数据库的默认编码: 2.1 查看当前字符集SHOW VARIABLES LIKE 'character_set_%'; SHOW VARIABLES LIKE 'collation_%'; 查看某个数据库的字符集 show create database DBbase; show create table DBtable; 2.2 修改/etc/my.conf.d/mysql-clients.cnf在[mysql]中添加 default-character-set=utf8mb4 2.3 修改/etc/my.conf.d/server.cnf:在[mysqld]中添加 init_connect='SET collation_connection = utf8mb4_unicode_ci' init_connect='SET NAMES utf8mb4' character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci skip-character-set-client-handshake 2.4 全部配置完成,重启mariadbsystemctl restart mariadb 2.5 查看编码show variables like "%character%"; and show variables like "%collation%"; MariaDB [(none)]> show variables like "%character%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8mb4 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.001 sec) MariaDB [(none)]> show variables like "%collation%"; +----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8mb4_unicode_ci | | collation_database | utf8mb4_unicode_ci | | collation_server | utf8mb4_unicode_ci | +----------------------+-----------------+ 3 rows in set (0.001 sec) 3 应用3.1 Springboot中使用utf8mb4字符集第一种:在JPA建表是设置表的编码和排序规则重写MySQL5InnoDBDialect#getTableTypeString() public class MySQL5InnoDBDialectUtf8mb4 extends MySQL5InnoDBDialect { @Override public String getTableTypeString() { return "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci"; } } 配置hibernate.dialect spring: jpa: properties: hibernate: dialect: com.xxx.MySQL5InnoDBDialectUtf8mb4 第二种:设置链接初始化SQL配置Druid连接池,如果为其他连接池,设置对应的connectionInitSqls即可 数据库配置: @Configuration public class DruidConfig { @Value("${spring.datasource.druid.connection-init-sqls") private List connectionInitSqls; @Bean public DruidDataSource dataSource() { DruidDataSource dataSource = new DruidDataSource(); dataSource.setConnectionInitSqls(connectionInitSqls); return dataSource; } } application.yml spring: datasource: druid: connection-init-sqls: ["SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci"] 最后按上述设置Spring Data Jpa 生成的表、字段就会是utf8mb4,utf8mb4_unicode_ci 3.2 mysql的URL配置还是需要设置characterEncoding=utf8mb4,不然会出现中文乱码 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |