Mariadb 10.4 Centos7 二进制包安装

一、MariaDB 官网复制二进制包链接地址并下载解压

  • 下载
wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.4.6/bintar-linux-systemd-x86_64/mariadb-10.4.6-linux-systemd-x86_64.tar.gz
  • 解压到 /usr/local 目录下
tar -zxvf /<path>/mariadb-10.4.6-linux-systemd-x86_64.tar.gz -C /usr/local
  • 重命名为 mysql
mv mariadb-10.4.6-linux-systemd-x86_64 mysql

二、创建 MariaDB 安装目录、数据库存放目录、建立用户和目录

  • 创建用户组
groupadd -r mysql
  • 创建用户
useradd -r -g mysql -s /sbin/nologin -d /usr/local/mariadb -M mysql

-r : 添加系统用户 ( 这里指将要被创建的系统用户 mysql )
-g : 指定要创建的用户所属组( 这里指添加到新系统用户 mysqlmysql 系统用户组 )
-s : 新系统帐户的登录 shell ( /sbin/nologin 这里设置为将要被创建系统用户 mysql 不能用来登录系统 )
-d : 新帐户的主目录( 这里指定将要被创建的系统用户 mysql 的家目录为 /usr/local/mariadb )
-d : 不要创建用户的主目录( 也就是说将要被创建的系统用户 mysql 不会在 /home 目录下创建 mysql 家目录 )

  • 创建 Mariadb 安装目录
mkdir -p /usr/local/mysql
  • 创建 Mariadb 数据存放目录
mkdir -p /usr/local/mysql/data
  • 更改目录所属
cd /usr/local/mysql
chown -R root .
chown -R mysql data

执行安装

  1. 进入二进制包
cd mysql
  1. 安装

初始化,默认情况不需要,若报错提示 mysql.user tables not exists 可执行该命令

scripts/mysql_install_db --user=mysql

出现错误 ./bin/mysqld: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
解决: yum whatprovides libstdc++.so.6 选最新的安装 yum install libstdc++-4.8.5-36.el7_6.2.i686 完成后再次允许上面的安装命令
libstdc++.png

  1. 启动
./bin/mysqld_safe --user=mysql &
or
./bin/mysqld_safe --defaults-file=~/.my.cnf --user=mysql &  

安装过程会持续很长时间
若编译过程中出现错误,根据错误提示,修正后删除 CMakeCache.txt 文件 再次执行 cmake 命令

配置 Mariadb

  • 进入目录
cd /usr/local/mysql
  • 设置自启动
  1. 方式一
cp support-files/systemd/mariadb.service /usr/lib/systemd/system/mariadb.service
systemctl enable mariadb

快捷启动 systemctl start mariadb
快捷关闭 systemctl stop mariadb
快捷重启 systemctl restart mariadb

  1. 方式二
cp support-files/mysql.server /etc/init.d/mysql.server
/etc/init.d/mysql.server start
/etc/init.d/mysql.server stop
/etc/init.d/mysql.server restart
  • 设置外网可访问
  1. 修改绑定 IP

默认情况绑定的是本地 IP,使用命令 netstat -lnp | grep 3306 结果是 0 :::33060 127.0.0.1:3306 此时无法外网访问(telnet不通),若结果是0 0.0.0.0:3306 则此步骤可省略

vim /etc/my.cnf
# 添加如下内容 然后 Esc -> :wq 保存退出
[mysqld]
skip-networking=0
skip-bind-address
  1. 授权用户可远程登录
# 默认密码为空 回车即可
bin/mysql -uroot -p


GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

注意设置密码

  • 开放端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload

参考

  1. Installing MariaDB Binary Tarballs
  2. Configuring MariaDB for Remote Client Access

作者: 浪子
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 浪子 !
 上一篇
CentOS 7 安装 PostgreSQL CentOS 7 安装 PostgreSQL
添加 PostgreSQL11 仓库到 Centos7 中 yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm -y 查看可安装的软件 yum list postgresql* 安装 PostgreSQL11 yum inst
2020年4月6日
下一篇 
Nginx配置http强制跳转https Nginx配置http强制跳转https
nginx 配置http强转https方案;http和https同时可用的方案;www有无服务都可用的方案。
2020年4月6日