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
编辑配置文件
[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
/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
/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;