因为项目需要,要搭建一个mariadb数据库,这里记录一下搭建过程以便之后的使用,同时进行分享。
鉴于网上说的yum源安装和配置特别详细,同时大佬们对编译方式安装mysql和mariadb极是推崇,这里我们就使用这种方法来进行配置和数据库搭建!
cmake --version
如果有版本信息则说明cmake已经安装成功了,如果没有该命令则按照以下步骤进行安装。
下载cmake编译可执行版
访问
http://www.cmake.org/cmake/resources/software.html 下载如cmake-3.12.4-Linux-x86_64.tar.gz的包
**切记不要下载源代码版本如cmake-3.13.1.tar.gz,这个版本还需要进行编译
解压cmake
tar zxvf cmake-3.12.4-Linux-x86_64.tar.gz
vi /etc/profile
打开之后在文件的末尾加上绝对路径如(根据你的cmake位置):
export PATH=/usr/local/cmake-3.12.4-Linux-x86_64/bin:$PATH
重新连接新的终端就可以再测试是否安装cmake了!
yum -y install readline-devel
yum -y install zlib-devel
yum -y install openssl-devel
yum -y install libaio-devel
tar -xvzf mariadb-10.3.11.tar.gz
groupadd -r mysql
useradd -g mysql -s /sbin/nologin mysql
mkdir /usr/local/mysql
mkdir -p /data1/mysql
chown -R mysql:mysql /data1/mysql/
cd mariadb--10.3.11
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #指定安装位置(可自定义)
-DMYSQL_DATADIR=/data1/mysql #指定数据目录(可自定义)
-DSYSCONFDIR=/etc #配置文件所在的目录(一般放在etc目录下)
-DWITHOUT_TOKUDB=1 #这个参数一般都要设置上,表示不安装tokudb引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STPRAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWIYH_READLINE=1 -DWIYH_SSL=system
-DVITH_ZLIB=system -DWITH_LOBWRAP=0
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
#-DWITHOUT_TOKUDB=1这个参数一般都要设置上,表示不安装tokudb引擎,tokudb是MySQL中一款开源的存储引擎,可以管理大量数据并且有一些新的特性,这些是Innodb所不具备的,这里之所以不安装,是因为一般计算机默认是没有Percona Server的,并且加载tokudb还要依赖jemalloc内存优化,一般开发中也是不用tokudb的,所以暂时屏蔽掉,否则在系统中找不到依赖会出现:CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:179 (message)这样的错误
实际情况下我们也可以执行这段代码:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data1/mysql -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
注意:如果万一执行中有了错误,可以执行: rm -f CMakeCache.txt 删除编译缓存,让指令重新执行,否则每次读取这个文件,命令修改正确也是报错
make && make install
这将会花很长时间,耐心等待
解压完之后就可以进入mariadb的安装路径下执行以下命令进行授权和服务设置:
chown -R mysql:mysql .
scripts/mysql_install_db --datadir=/data1/mysql --user=mysql
chown -R root .
cp support-files/mysql.server /etc/init.d/mysqld
将mysqlid添加到系统服务:
chkconfig --add mysqld # 添加至系统服务
chkconfig mysqld on # 设置开机自启动
建立日志目录:
mkdir /var/log/mariadb
启动服务:
/etc/init.d/mysqld start
或
service mysqld start
或
systemctl start mysqld.service
设置my.cnf文件
vi /etc/my.cnf
参考以下内容:
[mysqld]
datadir=/data1/mysql
socket=/tmp/mysql.sock #设为编译执行的本地socket
user=mysql
lower_case_table_names=1 #设置数据表大小写不敏感(值为0时大小写敏感)
export PATH=/usr/local/mysql/bin:$PATH
这样 ,mariadb的搭建就成功了。
Mariadb的用户名和密码设置和mysql是一样的:
方法1:
[root@localhost ~]# mysql
MariaDB[(none)]> UPDATE mysql.user SET password = PASSWORD(‘newpassword’) WHERE USER = ‘root’;
MariaDB[(none)]> FLUSH PRIVILEGES;
方法2:
[root@localhost ~]# mysql
MariaDB[(none)]> SET password=PASSWORD('newpassward');
方法3:
[root@localhost ~]# mysqladmin -u root password 'newpassword'
如果root已经设置过密码,采用如下方法
[root@localhost ~]#mysqladmin -u root -p 'oldpassword' password 'newpassword'
grant all privileges on *.* to '用户名'@'%' identified by '登录密码' with grant option;
flush privileges;