CentOS安装mysql、MariaDB以及更改数据库存储路径
注意:此方法只适用于新的机器或没有重要数据库表(可随意删除)的机器安装,如需升级版本参考下方链接!!!
https://www.jianshu.com/p/955ff6065935
一、安装操作
1.查看是否已经安装mysql或mariadb
rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb
如果有信息打印则代表已安装(MariaDB是MySql的一个分支,具体区别和关系自行查找文献)
2.卸载数据库
如果已安装的版本不是想要的版本,则卸载即可(*内容自行替换)
rpm -e --nodeps MariaDB-*
3.编辑数据库源配置
vi /etc/yum.repos.d/MariaDB.repo
按下i
进入编辑模式,写入对应版本的配置信息,如10.2
版本,对应版本参考官网说明
https://mariadb.org/download/?t=repo-config&d=CentOS+7+%28x86_64%29&v=10.2&r_m=aliyun
# MariaDB 10.2 CentOS repository list - created 2022-05-16 01:54 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.2/centos7-amd64
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
然后按下Esc
,输入:wq
回车保存并退出
更改配置之后需要执行以下命令
sudo yum clean all
4.导入密钥
rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
5.开始安装mariadb
sudo yum install MariaDB-server MariaDB-client
6.启动服务
systemctl start mariadb
7.设置开机自启动服务
systemctl enable mariadb
8查看服务运行状态
systemctl status mariadb
这样就代表正常运行
二、配置操作
1.查看数据库版本
mysql --version
2.配置数据库
mysql_secure_installation
Enter current password for root (enter for none): # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车
Set root password? [Y/n] # 设置密码,y
New password: # 新密码
Re-enter new password: # 再次输入密码
Remove anonymous users? [Y/n] # 移除匿名用户, y
Disallow root login remotely? [Y/n] # 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录
Remove test database and access to it? [Y/n] # 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要
Reload privilege tables now? [Y/n] # 重新加载权限表,y。或者重启服务也可以
3.连接数据库
mysql -u root -p
4.查看内置账号
select user, host from mysql.user;
5.授予外网登陆权限
grant all privileges on *.* to root@'%' identified by '自己设置密码';
%表示针对所有IP,password表示将用这个密码登录root用户,如果想只让某个IP段的主机连接,可以修改为:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.71.%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
6.刷新权限
FLUSH PRIVILEGES;
再次查询用户之后,就会看到%那一项配置了
select user, host from mysql.user;
7.关闭连接
exit
8.端口设置
查看3306端口是否开启
firewall-cmd --query-port=3306/tcp
开启3306防火墙端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
开启后要重启防火墙
firewall-cmd --reload
这时候去尝试远程连接,如果连不了尝试关闭防火墙
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动(视情况而定要不要设置这个)
systemctl disable firewalld.service
三、配置数据库编码格式
排序规则说明:
utf8_unicode_ci
: 可以支持德语、西班牙语等,检索速度慢,但是很准确
utf8_general_ci
:常规都支持,中文也是可以的,,检索速度快但是不是很准确
综上,一般使用utf8_general_ci
足够了,具体区别自行查找文献
1.配置server
vi /etc/my.cnf.d/server.cnf
# 在[mysqld]下添加
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
2.配置client
vi /etc/my.cnf.d/client.cnf
# 在 [client] 标签下添加
default-character-set=utf8
如果没有该文件,请忽略这一步,直接输入:q
退出编辑即可
3.配置mysql-clients
vi /etc/my.cnf.d/mysql-clients.cnf
# 在 [mysql] 标签下添加
default-character-set=utf8
4.重启数据库
systemctl restart mariadb
四、配置大小写敏感
1.配置忽略表名大小写
vi /etc/my.cnf.d/server.cnf
#在[mysqld]下添加
lower_case_table_names=1 #默认是等于0的,即大小写敏感。改成1就OK了。如果之前已经建了数据库要把之前建立的数据库删除,重建才生效。
2.重启数据库
systemctl restart mariadb
五、更改数据库默认存储路径
为什么要改呢???因为默认存储路径中内存使用率过高,防止内存溢出导致数据库运行异常
1.停止服务
systemctl stop mariadb
2.迁移数据库
mv /var/lib/mysql /data #默认存储在/var/lib/mysql中,现把他迁移到data文件夹中
3.更改配置文件
vim /etc/my.cnf
# 在[client-server]下追加以下内容
socket=/data/mysql/mysql.sock
vi /etc/my.cnf.d/server.cnf
# 在[mysqlld]下追加以下内容
datadir=/data/mysql
4.重启服务
systemctl restart mariadb
如果你路径改的是home
下,这时候可能会报错 Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.
如果没报错,则忽略该步骤
运行 vi /usr/lib/systemd/system/mariadb.service 找到 ProtectHome=true 改为 ProtectHome=false
再运行 systemctl daemon-reload 重新加载服务
再运行 systemctl restart mariadb 重启服务
5.查看是否更改成功
mysql -uroot -p #连接mysql
show global variables like "%datadir%"; #查看存储路径
参考:
https://www.cnblogs.com/yhongji/p/9783065.html
https://www.cnblogs.com/macoffee/p/13743640.html
https://www.jianshu.com/p/955ff6065935
https://segmentfault.com/a/1190000015324189
CentOS安装mysql、MariaDB以及更改数据库存储路径的更多相关文章
- mysql数据库存储路径更改 数据文件位置
使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装 ...
- 记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb
记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb 前段时间我个人Google服务器意外不能用,并且我犯了一件很低级的错误,直接在gcp讲服 ...
- mysql 数据库存储路径更改
使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装 ...
- centOS安装Mysql指南
centOS安装Mysql指南 说明:使用操作系统centOS6.4 32位系统:mysql:mysql-5.7.10-linux-glibc2.5-i686.tar.gz; 一.准备 下载mysql ...
- mysql(mariadb)如何更改root密码
mysql(或者mariadb,她是mysql的一个分支,完全开源,新版本的linux系统默认安装的是mariadb)如何更改root密码呢?我们主要介绍命令mysqladmin来实现. mysql( ...
- centos安装 mysql
centos安装 mysql 1. 下载mysqlmysql被oracle收购后现在退出了企业版和社区版本,社区版本是开源的,企业版是收费的.社区版可以下载源码也可以下载二进制文件包.源码安装比较麻烦 ...
- windows 系统如何安装 mysql 8.0.15 数据库?
windows 系统如何安装 mysql 8.0.15 数据库? 1. 下载安装包 下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0. ...
- ubuntu 安装 mysql mariadb
本教程面向Ubuntu服务器,适用于Ubuntu的任何LTS版本,包括Ubuntu 14.04,Ubuntu 16.04,Ubuntu 18.04,甚至非LTS版本(如Ubuntu 17.10和其他基 ...
- Sqlserver数据库存储路径的修改
Sqlserver数据库存储路径的修改 Sqlserver数据库存储路径问题:本系统sqlserver路径默认是存储在C盘目录下的,由于数据会慢慢变大和避免重装系统数据丢失等问题,最好手动将路径设置在 ...
- 在centos使用rpm包的方式安装mysql,以及更改root密码
在centos使用rpm包的方式安装mysql,对于centos官方实际推荐使用yum进行安装,下载安装的方式主要用于内网服务器不能连接外网yum源的情况. 下载包 首先根据centos版本在mysq ...
随机推荐
- Node.js的学习(一)node.js 的介绍
一.简介 1.1.什么是 node.js ? node.js 一种 JavaScript 的运行环境,能够使得javascript能够脱离浏览器运行.以前 js 只能在浏览器基础上运行,能够操作的也 ...
- 2022春每日一题:Day 37
题目:[USACO14FEB]Auto-complete S 字典树套路题,字典树优化剪枝,加个cnt标记即可 代码: #include <cstdio> #include <cst ...
- 给ofo共享单车撸一个微信小程序
想学一下微信小程序,发现文档这东西,干看真没啥意思.所以打算自己先动手撸一个.摩拜单车有自己的小程序,基本功能都有,方便又小巧,甚是喜爱.于是我就萌生了一个给ofo共享单车撸一个小程序(不知道为啥of ...
- java基础知识-lambda表达式
一.什么是lambda? 在Java中,我们可以将一个值赋值给一个Java变量. int aValue = 129; String aString = "hello world"; ...
- linux启动终端出现To run a command as administrator (user root) use sudo command See man sudo_root
解决方法 touch ~/.sudo_as_admin_successful
- uni-ajax使用示例
官网 基于 Promise 的轻量级 uni-app 网络请求库 uni-ajax官网:https://uniajax.ponjs.com 安装 插件市场 在 插件市场 右上角选择 使用 HBuild ...
- redis集群之分片集群的原理和常用代理环境部署
上篇文章刚刚介绍完redis的主从复制集群,但主从复制集群主要是为了解决redis集群的单点故障问题,通过整合哨兵能实现集群的高可用:但是却无法解决数据容量以及单节点的压力问题,所以本文继续介绍red ...
- 【PPT】NET Conf China 2022,主题:C#在iNeuOS工业互联网操作系统的开发及应用
从技术生态发展过程及理念.产品级解决方案理念.产品系统框架及主要功能介绍.产品系统二次开发和应用案例等5个方面进行了主题发言. 从2003到现在,使用.NET技术生态19年左右. 10多年的煤炭.电 ...
- Oracle查询,将某列查询结果用逗号隔开,拼接成一行(listagg函数)
需求:Oracle数据库,通过查询,将查询字段的该列结果用逗号拼接成一行. 1. 查询语法 select listagg('字段',',') within group (order by '字段') ...
- jQuery事件与动态效果
目录 一:阻止后续事件执行 1.推荐使用阻止事件 2.未使用 阻止后续事件执行 3.使用阻止后续事件执行 二:阻止事件冒泡 1.什么是事件冒泡? 2.未阻止事件冒泡 3.阻止事件冒泡 4.2.阻止冒泡 ...