ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Centos8 二进制安装MariaDB-10.2.31

2021-11-29 20:06:02  阅读:192  来源: 互联网

标签:10.2 local 31 centos7 mysqld usr mysql MariaDB root


1、准备用户并创建存放数据库的文件夹

[root@centos7 ~]#groupadd -r -g 306 mysql
[root@centos7 ~]#useradd -r -g 306 -u 306 -d /data/mysql  mysql
[root@centos7 ~]#mkdir /data/mysql

2、下载安装包并解压到指定的路径

[root@centos7 ~]#tar xf mariadb-10.2.31-linux-systemd-x86_64.tar.gz -C /usr/local/
[root@centos7 ~]#cd /usr/local/
#####创建软链接是为了后续升级数据库方便
[root@centos7 local]#ln -s mariadb-10.2.31-linux-systemd-x86_64/ mysql

3、数据库文件初始化

####注意:要和/etc/init.d/mysqld里面的路径保持一致
[root@centos7 ~]#/usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysql --basedir=/usr/local/mysql --user=mysql

4、给相关文件目录赋予权限

[root@centos7 ~]#chown -R mysql.mysql /data/mysql
[root@centos7 ~]#chown -R mysql.mysql /usr/local/mariadb* /usr/local/mysql/

5、配置启动数据库的配置文件

[root@centos7 ~]#cat /etc/my.cnf
[mysqld]
datadir=/data/mysql
basedir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock
port=3306
pid-file=/usr/local/mysql/mysql.pid
[client]
socket=/usr/local/mysql/mysql.sock

6、配置数据的启动文件

[root@centos7 ~]#cp  -a  /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
[root@centos7 ~]#sed -Ei 's#^(basedir=)$#\1\/usr\/local\/mysql#' /etc/init.d/mysqld
[root@centos7 ~]#sed -Ei 's#^(datadir=)$#\1\/data\/mysql#' /etc/init.d/mysqld

8、PATH路径

[root@centos7 ~]#echo "PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh
[root@centos7 ~]#. /etc/profile.d/mysql.sh 

9、启动数据库并设置开机启动

[root@centos7 ~]#systemctl start mysql
[root@centos7 ~]#chkconfig --add mysqld

10、验证数据库是否编译成功

[root@centos7 ~]#ss -ntulp
Netid  State      Recv-Q Send-Q                         Local Address:Port                                        Peer Address:Port              
tcp    LISTEN     0      128                                        *:22                                                     *:*                   users:(("sshd",pid=1369,fd=3))
tcp    LISTEN     0      100                                127.0.0.1:25                                                     *:*                   users:(("master",pid=2270,fd=13))
tcp    LISTEN     0      80                                        :::3306                                                  :::*                   users:(("mysqld",pid=1667,fd=19))


[root@centos7 ~]#mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.2.31-MariaDB MariaDB Server

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)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

错误分析:

1、mysql命令找不到

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q2AlZHoA-1638186802628)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\1638185907305.png)]

###通常是PATH路径问题
echo "PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh/

2、如下问题

在这里插入图片描述

###在配置文件注释该行
[root@centos7 ~]#cat /etc/my.cnf |grep -n "symbolic-links=0"
10:symbolic-links=0

3、缺少相关包在这里插入图片描述

[root@centos7 ~]#yum install libncurses* -y

4、权限问题

[ERROR] Can't start server : Bind on unix socket: Permission denied
[ERROR] Do you already have another mysqld server running on socket: 
[ERROR] /usr/local/mysql/mysql.sock ?
Aborting
[ERROR] Can't start server : Bind on unix socket: Permission denied
[ERROR] Do you already have another mysqld server running on socket: /usr/local/mysql/mysql.sock ?
[ERROR] Aborting
mysqld_safe mysqld from pid file /usr/local/mysql/mysql.pid ended

[root@centos7 ~]#chown -R mysql.mysql /usr/local/mariadb* /usr/local/mysql*

标签:10.2,local,31,centos7,mysqld,usr,mysql,MariaDB,root
来源: https://blog.csdn.net/weixin_58519482/article/details/121617890

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有