Mariadb配置问题汇总

MariaDB-10.4版本开始,mysql.user不再是一张表而是一个视图,但同时也提供了一个新表mysql.global_priv来替代mysql.user

  1. 有三个root账户,主机默认用的好像是127.0.0.1的,改密码需要把他改掉
MySQL/MariaDB的权限用用户名和主机名结合定义,即USER@HOST。如果不指定主机名,则使用默认的主机名%(授予用户访问权限而不管主机名)所以对三个root的理解可以为下:

root@127.0.0.1 表示本机的root用户可以登陆,127.0.0.1是本地回路的ip地址
root@::1 表示本机的root用户可以登陆,::1是ipv6本机地址,相当于127.0.0.1的ipv6
root@localhost 表示只有本机root用户可以登陆
  1. 改密码
use mysql;
select * from global_priv;

默认情况下,root用户通过"unix_socket"身份验证插件进行身份验证。需要将此模式改为"mysql_native_password"
ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password;
ALTER USER `root`@`localhost` IDENTIFIED BY 'xxx密码';
flush privileges;
  1. 改权限范围
UPDATE mysql.global_priv SET Host='%' WHERE User='root';
flush privileges;
报错提示ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'不予理会
  1. linux下查看启动配置文件是哪个:
运行 mysqld --help --verbose | grep -A 1 "Default options" 来查看 MariaDB 默认加载的配置文件路径。
  1. 导入SQL文件时报错(在执行创建表或者增加字段时,发现row size长度过长,会导致出现以下错误)
ERROR 1118 (42000) at line 8299: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.

执行以下SQL语句,查看严格模式是否开启

show variables like '%innodb_strict_mode%';

如果提示已开启则需要关闭(my.ini)

[mysqld]
innodb_strict_mode=0

安装教程(都在bin目录):
mysqld.exe --install MariaDB
如报错去.err文件查看什么错误,如果是data目录没配置则
mysql_install_db.exe --datadir=…/data

linux使用yum安装10.4,首先vi /etc/yum.repos.d/mariadb.repo,在编辑器中添加以下内容:

[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.4.31/centos74-amd64
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

接着更新缓存yum update、安装yum install MariaDB-server MariaDB-client、启动systemctl start mariadb、开机自启systemctl enable mariadb、运行安全性脚本,以提供更好的默认安全性设置mysql_secure_installation,最后mysql -V

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值