最近在CentOS安装 Mariadb10.0.20,遇到一点小问题,所以把安装过程用博客记录:
1. 文件复制到/usr/lcoal目录下:$cp mariadb-10.0.20-linux-x86_64.tar.gz /usr/local
2.创建用户组及用户,以root操作:
2.1.#groupadd mariadb
2.2.#useradd -g mariadb mariadb
3.解压文件:# tar -zxvf mariadb-10.0.20-linux-x86_64.tar.gz
4.创建软连接:# ln -s mariadb-10.0.20-linux-x86_64 mariadb
5.安装目录授权给mariadb:
# chown -R mariadb:mariadb mariadb
# chown -R mariadb:mariadb mariadb-10.0.20-linux-x86_64
6.创建data目录,二进制日志目录-binlog,创建中继日志目录-relaylog:
[[email protected] local]# mkdir -p /data/data0/mariadb/3306/data/
[[email protected] local]# mkdir -p /data/data0/mariadb/3306/binlog/
[[email protected] local]# mkdir -p /data/data0/mariadb/3306/relaylog/
7./data/目录授权给mariadb:#chown -R mariadb:mariadb /data
8.初始化mariadb(暂时不指定文件名):
#su mariadb
$cd /usr/local/mariadb/scripts
$ ./mysql_install_db --no-defaults --basedir=/usr/local/mariadb --datadir=/data/data0/mariadb/3306/data/ --user=mariadb
没有输出[ERROR]日志表示初始化完成
9.启动mariadb数据库:
9.1.获取默认的my.cnf文件,并修改my.cnf权限,如果权限为"777",mariadb会认为此文件不安全,自动忽略此文件:
$ cp /usr/local/mariadb/support-files/my-large.cnf /usr/local/mariadb/my.cnf
$ chmod 644 /usr/local/mariadb/my.cnf
9.2.修改配置文件,在[mysqld]标签下添加(绿色为添加的内容),添加之后记得保存退出:
[mysqld]
basedir = /usr/local/mariadb/
datadir = /data/data0/mariadb/3306/data
log-error = /data/data0/mariadb/3306/mysql.log
pid-file = /data/data0/mariadb/3306/mysql.pid
log-bin = /data/data0/mariadb/3306/binlog/binlog
relay-log-index = /data/data0/mariadb/3306/relaylog/relaylog
relay-log-info-file = /data/data0/mariadb/3306/relaylog/relaylog
relay-log =/data/data0/mariadb/3306/relaylog/relaylog
port = 3306
socket = /tmp/mysql.sock
9.3.进入到安装目录的bin,启动mariadb:
$ ./mysqld_safe --defaults-file=/usr/local/mariadb/my.cnf &
会出现以下的报错信息:
150923 00:36:54 mysqld_safe The file /usr/local/mysql/bin/mysqld does not exist or is not executable. Please cd to the mysql installation directory and restart this script from there as follows: ./bin/mysqld_safe& |
经过上网查资料,mysqld_safe会默认去找"/usr/local/mysql/bin/mysqld"文件,但是我们现在采用的目录是"/usr/local/mariadb/bin/mysqld",原因分析及解决方案:
如果mysqld_safe失败,即使从MySQL安装目录调用仍然失败,你可以指定--ledir和--datadir选项来指示服务器和数据库在你的系统中的安装目录。 一般情况,你不应编辑mysqld_safe脚本。相反,应使用命令行选项或my.cnf选项文件的[mysqld_safe]部分的选项来配置mysqld_safe。一般不需要编辑mysqld_safe来正确启动服务器。 |
9.4.在my.cnf配置文件添加内容(绿色部分为添加内容),ledir指定包含mysqld程序的目录的路径,使用该选项来显式表示服务器位置。,添加之后记得保存退出:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld_safe]
ledir=/usr/local/mariadb/bin
[mysqld]
9.5.重新启动数据库,如果有监听3306端口,表明数据库启动成功:
$ ./mysqld_safe --defaults-file=/usr/local/mariadb/my.cnf &
$ netstat -ultn
10.进入mariadb client,使用root登陆,密码默认为空,直接按回车即可:
$ cd /usr/local/mariadb/bin
$ ./mysql -uroot -p