源码安装mariadb10.4.24

redhat8源码安装mariadb10.4.24

下载源码包

官网地址:https://dlm.mariadb.com

解包

tar -zxvf mariadb-10.4.24.tar -C /usr/local
mv mariadb-10.4.24 mysql

创建账户

useradd -M -s /sbin/nologin mysql

创建目录

mkdir -p /usr/local/data/mysql
mkdir /usr/local/data/log/ -p 

设置权限

chown -R mysql:mysql /usr/local/mysql/  && chown -R mysql:mysql /usr/local/data/mysql

编辑配置文件

  • vim /etc/my.cnf
[mysqld]
port=3306
datadir=/usr/local/data/mysql       #数据路径
socket=/usr/local/mysql/mysql.sock  #sock路径
[mysqld_safe]
log-error=/usr/local/data/log/mariadb.log   #日志存放路径
pid-file=/usr/local/data/mysql/mariadb.pid  #pid路径
  • 创建启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  • 编辑脚本
    • vim /etc/init.d/mysqld
      basedir=/usr/local/mysql      #定义mariadb数据库目录
      datadir=/usr/local/data/mysql #数据存放路径
      
  • 配置参数
/usr/local/mysql/scripts/mysql_install_db --datadir=/usr/local/data/mysql --basedir=/usr/local/mysql --user=mysql --defaults-file=/etc/my.cnf
  • 配置环境变量
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
  • 刷新环境变量
source /etc/profile
  • 启动mariadb
/etc/init.d/mysqld start
  • 创建临时文件的软连接
ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock

报错排查

  • ERROR! MariaDB is not running, but lock file (/var/lock/subsys/mysql) exists

删除 /var/lock/subsys/mysql文件

  • /etc/rc.d/init.d/mysqld: line 263: kill: (4478) - No such process

修改启动文件 /etc/rc.d/init.d/mysqld

修改前

wait_for_ready () {
 
  i=0
  while test $i -ne $service_startup_timeout ; do
 
  i=0
  while test $i -ne $service_startup_timeout ; do
 
    if $bindir/mysqladmin ping >/dev/null 2>&1; then
          log_success_msg
      return 0
    elif kill -0 $! 2>/dev/null ; then
      :  # mysqld_safe is still running
    else
      # mysqld_safe is no longer running, abort the wait loop
      break
    fi
 
    echo $echo_n ".$echo_c"
    i=`expr $i + 1`
    sleep 1
 
  done
 
  log_failure_msg
  return 1
}

修改后

wait_for_ready () {
 
  i=0
  while test $i -ne $service_startup_timeout ; do
 
    #if $bindir/mysqladmin ping >/dev/null 2>&1; then
    if test -e $mysqld_pid_file_path;then
      log_success_msg
      return 0
    elif kill -0 $! 2>/dev/null ; then
      :  # mysqld_safe is still running
    else
      # mysqld_safe is no longer running, abort the wait loop
      break
    fi
 
    echo $echo_n ".$echo_c"
    i=`expr $i + 1`
    sleep 1
 
  done
 
  log_failure_msg
  return 1
}
  • ERROR 1045 (28000): Access denied for user jira8 @ localhost (using password: YES)

删除user表中user列为白的行

查询:
select host,user,password from user;

删除:
delete form user where user=' ';

刷新:
flush privileges;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值