第一章:mariadb在rhel7上的使用
rhel7及以上系统默认安装了mariadb(低版本)
如果系统中没有装,虚拟机的话 ,挂载iso,配置iso源,yum -y install mariadb mariadb-server
即可(7/8适用)
注意:只安装mariadb,maraidb服务起不来!!!
下图列举了rhel7.3自带的版本,本章操作以rhel7.3为例
所以,此处记录一下使用系统自带的mariadb
- 启动mariadb服务
systemctl start mariadb
- 设置mariadb服务为开启自启(自愿)
systemctl enable mariadb
- 设置账户密码(注:默认root无密码)
# 按照提示,一步步执行即可。初始root无密码
mysql_secure_installation
- 密码设置成功后,测试登录
# 用户为root,密码为123456
mysql -uroot -p123456
第二章:mariadb在rhel6上的安装
rhel6上面没有自带mariadb,如果要使用,需要自行安装。
操作步骤见下,可能略有不同
参考文章:CentOS6下编译安装MariaDB
上述链接提供了两种方式
(1)编译源码包(比较慢)
- 安装前环境准备
# 1.安装依赖
yum -y install cmake gcc gcc-c++ openssl-devel ncurses-devel
# 2.准备源码包,下载地址:http://archive.mariadb.org/
mariadb-5.5.43.tar.gz
# 3.创建数据存放目录和配置文件目录
mkdir /mydata
mkdir /etc/mysql
- 预编译安装
# 1.解压mairadb-5.5.43.tar.gz
tar -zxvf mariadb-5.5.43.tar.gz
# 2.进入解压后的目录
cd mariadb-5.5.43
# 3.执行cmake命令预编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.43 -DMYSQL_DATADIR=/mydata -DSYSCONFDIR=/etc/mysql/ -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
# -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.43:编译后存放路径
# -DMYSQL_DATADIR=/mydata:数据存放目录
# -DSYSCONFDIR=/etc/mysql:配置文件存放目录
- 编译安装
make && make install
(2)二进制包安装(比较推荐)
- 安装前环境准备
# 1.组和用户:mysql
useradd -r mysql
groupadd -r mysql
# 2.数据存放目录
mkdir -p /mydata
# 3.配置文件目录
mkdir -p /etc/mysql
# 4.二进制包:下载路径http://archive.mariadb.org/
mariadb-5.5.43-linux-x86_64.tar.gz
2.安装
# 1.解压mariadb-5.5.43-linux-x86_64.tar.gz到/usr/local目录中
tar -zxvf mariadb-5.5.43-linux-x86_64.tar.gz -C /usr/local
mv /usr/local/mariadb-5.5.43-linux-x86_64 /usr/local/mariadb-5.5.43
# 2.将解压后的目录链接为mysql(ps:不要提前创建/usr/local/mysql目录)
ln -sv /usr/local/mariadb-5.5.43 /usr/local/mysql
# 3.进入mysql目录,将所有文件属主改为root,属组改为mysql
cd /usr/local/mysql
chown -Rv root:mysql ./*
# 4.执行scripts目录下mysql_install_db文件,并指明数据存放目录和用户
scripts/mysql_install_db --datadir=/mydata --user=mysql # 注意当前路径为:/usr/local/mysql
3.安装后配置
# 1.将support-files目录下mysql.server文件复制为/etc/rc.d/init.d/mysqld文件
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# 2.将其添加到chkconfig启动项
chkconfig --add mysqld
# 3.将support-files目录下my-large.conf复为/etc/mysql/my.cnf文件
cp support-files/my-large.cnf /etc/mysql/my.cnf
# 4.编辑/etc/mysql/my.cnf文件,在[mysqld]添加一下三项(我就添加了一个)
datadir=/mydata
# innodb_file_per_table=on
# skip_name_resolve=on
# 5.配置环境变量,并执行查看
cat /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH #文件内容
# 生效
source /etc/profile.d/mysql.sh
echo $PATH
- 安装完成验证
(1)理想情况
# 1.启动mysqld服务并查看状态
service mysqld status
service mysqld start
# 2.抓端口
netstat -ntlp | grep mysql # 看到3306基本就是ok了
成功示例图:
(2)报错情况(mysqld服务起不来)
下面写了一下我遇到的三个错误:(不保证适应所有情况)
# 报错a:ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql)
# 解决a:删掉/var/lock/subsys/mysql,再重启服务;
# 重启命令:/etc/init.d/mysql start(一般就会报成功了)
# 注意:重启服务命令不要用service mysqld start了,用了还会报同样的错
# 报错b:服务通过上述命令启动成功后,查看服务状态(service mysqld status),
# 显示ERROR! MySQL is running but PID file could not be found
# (也不算解决)解决b:我是没有理会,抓一下mysqld,看看端口开了没,开了应该就没啥问题
# 报错c:/etc/init.d/mysqld: line 213: my_print_defaults: command not found
# Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe
# 解决c:多半是做链接的时候错了!链接/usr/local/mariadb***到/usr/local/mysql的时候不要提前创建mysql文件夹;
# 提前创建了,目录会多一层,会成为/usr/local/mysql/mariadb***,就会对应不上导致报错!!!(我报错的时候,就是这个问题!)
- 启动mysql服务端
mysql #下图为启动成功示意图文章来源:https://www.toymoban.com/news/detail-740948.html
问题解决参考文章:
1.ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
2.解决MySQL is running but PID file could not be found
3.解决Linux:-bash: mysql: 未找到命令 问题文章来源地址https://www.toymoban.com/news/detail-740948.html
到了这里,关于Linux下安装/使用mariadb的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!