Mariadb数据库
Mariadb安装方式:
1、源代码:编译安装
2、二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用
3、程序包管理器管理的程序包
1.程序包管理器管理的程序包
安装源:
CentOS 安装光盘
项目官方:https://downloads.mariadb.org/mariadb/repositories/
国内镜像:https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/
安装mariadb客户端:
yum install mariadb -y
安装:
yum install mariadb-server -y
客户端:
使用脚本导入数据库
#mysql –uUSERNAME -pPASSWORD < /path/somefile.sql
在数据库服务器的命令行中:
mysql> source /path/from/somefile.sql
socket地址
服务器监听的两种socket地址:
ip socket: 监听在tcp的3306端口,支持远程通信
unix sock: 监听在sock文件上,仅支持本机通信
如:/var/lib/mysql/mysql.sock
说明:host为localhost,127.0.0.1时自动使用unix sock
服务器端配置:
服务器端(mysqld):工作特性有多种配置方式
1、命令行选项:
2、配置文件:类ini格式
集中式的配置,能够为mysql的各应用程序提供配置信息
[mysqld]
[mysqld_safe]
[mysqld_multi]
[mysql]
[mysqldump]
[server]
[client]
格式:parameter = value
说明:_和- 相同
1,ON,TRUE意义相同;0,OFF,FALSE意义相同;
配置文件:
后面覆盖前面的配置文件,顺序如下:
/etc/my.cnf Global选项
/etc/mysql/my.cnf Global选项
SYSCONFDIR/my.cnf Global选项
$MYSQL_HOME/my.cnf Server-specific选项
--defaults-extra-file=path
~/.my.cnf User-specific选项
2.通用二进制格式安装过程
(1) 准备用户
#groupadd -r -g 306 mysql
#useradd -r -g 306 -u 306 –d /data/mysql mysql
(2) 准备数据目录,建议使用逻辑卷
#mkdir /data/mysql
#chown mysql:mysql /data/mysql
(3) 准备二进制程序
#tar xf mariadb-10.0.2-linux-x86_64.tar.gz -C /usr/local
#cd /usr/local
#ln -sv mariadb-VERSION mysql
#chown -R root:mysql /usr/local/mysql/
(4) 准备配置文件
#mkdir /etc/mysql/
#cd mysql/
#cp support-files/my-large.cnf /etc/mysql/my.cnf
#vim /etc/mysql/my.cnf
[mysqld] #中添加三个选项
datadir = /data/mysql
innodb_file_per_table = on
skip_name_resolve = on #禁止主机名解析,建议使用
(5) 创建数据库文件
#yum install libaio -y
#cd /usr/local/mysql/
#./scripts/mysql_install_db --datadir=/data/mysql --user=mysql
(6)准备服务脚本,并启动服务
#cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
#service mysqld start
(7)PATH路径
#echo 'PATH=/user/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
#. /etc/profile.d/mysql.sh
(8)安全初始化
/user/local/mysql/bin/mysql_secure_installation
mysql_secure_installation说明:
设置数据库管理员root口令
禁止root远程登录
删除anonymous用户帐号
删除test数据库
3.源码编译安装
(1)准备编译安装所需要的软件包
#yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel libdb-cxx-devel
(2)做准备用户和数据目录
#useradd –r –s /sbin/nologin –d /data/mysql/ mysql
#mkdir /data/mysql
#chown mysql.mysql /data/mysql
#tar xvf mariadb-10.2.18.tar.gz
(3)cmake 编译安装
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能
即编译工作可以在另一个指定的目录中而非源码目录中进行
因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译
编译选项:https://dev.mysql.com/doc/refman/5.7/en/source-configuratio
源码编译安装mariadb
#cd mariadb-10.2.18/
#cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/ \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
#make -j n && make install # 'n'表示主机的cpu的核心数
提示:如果出错,执行rm -f CMakeCache.txt
(4)准备环境变量
#echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
#. /etc/profile.d/mysql.sh
(5)生成数据库文件
#cd /app/mysql/
#scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
(6)准备配置文件
#cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf
(7)准备启动脚本
#cp /app/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
(8)启动服务
#chkconfig --add mysqld ;service mysqld start
mysql5.7 二进制安装
- 解压缩:
#tar -xvf mysql-5.7.26-el7-x86_64.tar -C /usr/local
- 添加用户
#useradd -r -s /bin/false mysql
- 添加软链接
#ln -sv mysql-5.7 mysql
- 配置环境变量
#echo 'PATH=/usr/local/mysq/bin:$PATH' > /etc/profile.d/mysql.sh
- 创建存放数据的目录并更改所属主,所属组
#mkdir /data/mysql
#chown mysql.mysql /data/mysql
- 初始化数据库
#yum install -y libaio
#mysqld --initialize --user=mysql --datadir=/data/mysql
记住 --生成root用户密码:A temporay password is genterated for root …(password)
- 配置my.cnf文件:所有路径放在数据目录中
#vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
default-character-set=utf8
[mysql]
socket=/data/mysql/mysql.sock
default-character-set=utf8
- 复制启动脚本到初始化目录
#cp mysql/support/mysql.server /etc/rc.d/init.d/mysqld
- 修改默认密码
#mysqladmin -uroot -p"..." password "12345678"