首先查看是否已安装mariaDB,如有,执行以下步骤卸载
apt list | grep mariadb
卸载步骤
停止mariaDB
sudo systemctl stop mariadb
卸载
sudo apt-get remove --purge mariadb-server mariadb-client mariadb-common
删除mysql文件
sudo rm -rf /etc/mysql/ /var/lib/mysql/ /var/log/mysql/
执行自动清理
sudo apt-get autoremove && sudo apt-get autoclean
安装
查看是否有匹配的版本
sudo apt search mariadb-server
安装对应版本
sudo apt install mariadb-server-10.1
安装后配置
启动服务
sudo service mysql start
安全配置
sudo mysql_secure_installation
检查监听
netstat -ntpl
执行后发现监听的是127.0.0.1,调整配置文件,改成0.0.0.0,
顺便调整了下启动用户
sudo vi 50-server.cnf
调整完成保存并重启服务
sudo service mysql restart
远程访问权限配置
此时仍然无法远程&本地账密方式连接mariaDB,需要配置下访问权限
进入控制台
sudo mysql
设置账密后可以本地账密登录访问
set PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
设置所有地址均可访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
索引长度超限问题处理
刷sql的时候报错“ Specified key was too long; max key length is 767 bytes”,是mariaDB版本不一致,需要调整下索引配置
登入控制台
sudo mysql -uroot -p123456
打开索引开关
set global innodb_large_prefix=1;
set global innodb_file_format=BARRACUDA;
所有建表语句增加“ROW_FORMAT=DYNAMIC”
create table idx_length_test_02
(
id int auto_increment primary key,
name varchar(255)
)ROW_FORMAT=DYNAMIC ENGINE=InnoDB default charset utf8mb4;