
Centos7 安装卸载Mariadb(Mysql )
一、卸载Mariadb
1.查看有没有安装
rpm -qa|grep mariadb
如果返回内容说明已安装
返回内容(不一定一样)
mariadb-5.5.56-2.el7.x86_64
mariadb-libs-5.5.56-2.el7.x86_64
mariadb-server-5.5.56-2.el7.x86_64
2.卸载命令
yum remove mariadb
3.删除遗留目录
#查看目录是否存在
ls /etc/my.cnf
ll /var/lib/mysql/
#删除
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql/
二、安装Mariadb
1.yum安装Mariadb包(安装默认会配置mysql用户)
yum install mariadb mariadb-server -y
2.启动服务
systemctl start mariadb.service
2.初始化Mariadb服务
mysql_secure_installation
- (1) enter current password for root (enter for none) (请输入现在的root密码(没有直接回车))
- 直接回车
- (2) Set root password(是否设置root密码)
- 输入Y
- 输入新的root密码
- 再输入一次
- (3)Remove anonymous users (是否删除匿名用户)
- 输入 Y
- (4)Disallow root login remotely(是否不允许远程root用户登录)
- 我这边需要 所以选择 N
- (5)Remove test database and access to it(删除测试数据库并访问它)
- 输入N
- (6)Reload privilege tables now(立即重新加载权限表)
- 输入Y
3.配置数据库存储位置
我这边自定义路径是/home/mariadbdata/ 这边请改成自己的路径
1.新建储存位置(我这边 /home 下是挂载硬盘储存)
cd /home
#目录下创建一个 mariadbdata 目录
mkdir mariadbdata
#给这个目录加上读写权限
chmod 775 mariadbdata
2.把 Mariadb 服务停掉
systemctl stop mariadb.service
3.把 /var/lib/mysql 整个目录复制到新建的目录
cp -r /var/lib/mysql/* /home/mariadbdata/
4.编辑 Mariadb 的配置文件 /etc/my.cnf
vi /etc/my.cnf
把[mysqld]下的配置项datadir和socket注释掉(以防有问题再改回来),新加行改为新的内容,如下:
#2个储存目录换成新目录
[mysqld]
# datadir=/var/lib/mysql
datadir=/home/mariadbdata
# socket=/var/lib/mysql/mysql.sock
socket=/home/mariadbdata/mysql.sock
把[client]下的配置项socket注释掉(以防有问题再改回来),新加行改为新的内容,如下:
[client]
# socket=/var/lib/mysql/mysql.sock
socket=/home/mariadbdata/mysql.sock
注:如果文件中没有[client],需要手动加上。
5.关闭大小写敏感(按情况来设置,可跳过)
#在[mysqld]下加入这一行
lower_case_table_names=1
保存文件退出。
#点击esc退出编辑
#shift+:输入wq 保存
5.修改 /home/mariadbdata目录的拥有者
chown -R mysql:mysql /home/mariadbdata
6.新执行安装命令(注意修改自己的路径)
mysql_install_db --defaults-file=/etc/my.cnf --datadir=/home/mariadbdata/ --user=mysql
7.启动mariadb服务
systemctl start mariadb
8.开启防火墙端口
点下面链接按照教程去开放3306端口
四.错误解决
如果启动出现已下内容说明失败
[root@localhost mariadb.service.d]# systemctl start mariadb
Job for mariadb.service failed. See 'systemctl status mariadb.service' and 'journalctl -xn' for details.
输入 systemctl status mariadb可以看到错误原因,一般是权限错误
(1).关闭selinux安全防护(必须)
关闭selinx(以下是临时关闭不需要重启,但是重启又会打开)
/usr/sbin/setenforce 0
(2)执行第5步 后启动mariadb(第七步)
如果是在/home 文件夹下(我就是)继续操作
(1)新增mariadb.service.d文件夹
mkdir /etc/systemd/system/mariadb.service.d
(4)新增homedir.conf配置
新增编辑
vi /etc/systemd/system/mariadb.service.d/homedir.conf
文件中输入并保存
[Service]
ProtectHome=false
保存后输入
systemctl daemon-reload
最后再启动mariadb(第七步)
五.测试
连接数据库
mysql -u root -p
输入密码
如果出现已下内容说明成功!
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 SNTU Studio
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果