CentOS7.3编译安装MariaDB10.2
1. 删除CentOS7.3默认数据库配置文件
查看默认数据库配置文件
[root@localhost ~]# find -H /etc/ | grep my.c
/etc/pki/tls/certs/make-dummy-cert
/etc/pki/tls/certs/renew-dummy-cert
/etc/my.cnf.d
/etc/my.cnf.d/mysql-clients.cnf
/etc/my.cnf
删除默认数据库配置文件
[root@localhost ~]# rm -rf /etc/my.cnf /etc/my.cnf.d/
再次查看默认数据库配置文件
[root@localhost ~]# find -H /etc/ | grep my.c
/etc/pki/tls/certs/make-dummy-cert
/etc/pki/tls/certs/renew-dummy-cert
到目前为止, 系统最小化安装自带的数据库配置文件已经删除干净了!
2. 卸载系统自带mariadb-libs
查询
[root@localhost ~]# rpm -qa|grep mariadb-libs
mariadb-libs-5.5.52-1.el7.x86_64
卸载
[root@localhost ~]# rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps
安装相关包
[root@localhost ~]# yum -y install libaio
[root@localhost ~]# yum -y install libaio-devel
[root@localhost ~]# yum -y install bison
[root@localhost ~]# yum -y install bison-devel
[root@localhost ~]# yum -y install zlib-devel
[root@localhost ~]# yum -y install openssl
[root@localhost ~]# yum -y install openssl-devel
[root@localhost ~]# yum -y install ncurses
[root@localhost ~]# yum -y install ncurses-devel
[root@localhost ~]# yum -y install libcurl-devel
[root@localhost ~]# yum -y install libarchive-devel
[root@localhost ~]# yum -y install boost
[root@localhost ~]# yum -y install boost-devel
[root@localhost ~]# yum -y install lsof
[root@localhost ~]# yum -y install wget
[root@localhost ~]# yum -y install gcc
[root@localhost ~]# yum -y install gcc-c++
[root@localhost ~]# yum -y install make
[root@localhost ~]# yum -y install cmake
[root@localhost ~]# yum -y install perl
[root@localhost ~]# yum -y install kernel-headers
[root@localhost ~]# yum -y install kernel-devel
[root@localhost ~]# yum -y install pcre-devel
3. 创建家目录存放软件包目录
[root@localhost ~]# mkdir soft
[root@localhost ~]# cd soft
4. MariaDB官网复制源码包链接地址并下载解压
下载
[root@localhost soft]# wget https://downloads.mariadb.org/interstitial/mariadb-10.2.6/source/mariadb-10.2.6.tar.gz
解压
[root@localhost soft]# tar -zxvf mariadb-10.2.6.tar.gz
5. 创建MariaDB安装目录、数据库存放目录、建立用户和目录
这里提前预定MariaDB的安装目录为/usr/local/mysql并且数据库目录为/data/mysql,这里要建立系统用户及组和数据库存放目录,并且将数据库存放目录赋予mysql用户及组权限,操作如下:
请注意特别说明一下:这里说的数据库目录是指的具体数据库存储文件, 而不是安装文件!
创建mysql系统用户组
[root@localhost soft]# groupadd -r mysql
创建系统用户mysql并加入到mysql系统用户组
[root@localhost soft]# useradd -r -g mysql -s /sbin/nologin -d /usr/local/mysql -M mysql
以下是上面创建系统用户mysql的各个参数说明:
-r: 添加系统用户( 这里指将要被创建的系统用户mysql )
-g: 指定要创建的用户所属组( 这里指添加到新系统用户mysql到mysql系统用户组 )
-s: 新系统帐户的登录shell( /sbin/nologin 这里设置为将要被创建系统用户mysql不能用来登录系统 )
-d: 新帐户的主目录( 这里指定将要被创建的系统用户mysql的家目录为 /usr/local/mysql )
-M: 不要创建用户的主目录( 也就是说将要被创建的系统用户mysql不会在 /home 目录下创建 mysql 家目录 )
创建maria安装目录
[root@localhost soft]# mkdir -p /usr/local/mysql
创建数据库存放目录
[root@localhost soft]# mkdir -p /data0/mysql
改变数据库存放目录所属用户及组为 mysql:mysql
[root@localhost soft]# chown -R mysql:mysql /data0/mysql
执行编译安装
> 进入到解压后的源码包文件夹
[root@localhost soft]# cd mariadb-10.2.6
> 输入编译参数
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data0/mysql \
-DSYSCONFDIR=/etc \
-DWITHOUT_TOKUDB=1 \
-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
** 请注意一点:在编译源码tarball集合中的MariaDB Galera集群时: -DWITH_WSREP=ON和-DWITH_INNODB_DISALLOW_WRITES=1。**
> 如果编译失败请删除CMakeCache.txt
[root@localhost soft]# rm -f CMakeCache.txt
> 让指令重新执行,否则每次读取这个文件,命令修改正确也是报错
> cmake没问题,可以编译并且安装了: make && make install 时间会有点长根据个人机器吧,你可以干别的事情去!
[root@localhost soft]# make && make install
> 执行完成也就是安装完成了, 不过请注意, 这只是安装了, 并没有启动, 启动不成功等于没安装, 不能用也是徒劳无功不是?
>
6. 配置MariaDB
> 进入到 MariaDB 安装目录
[root@localhost ~]# cd /usr/local/mysql/
> 使用 `mysql` 用户执行脚本, 安装数据库到数据库存放目录
[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/data0/mysql
> 输出以下信息:
Installing MariaDB/MySQL system tables in '/data/mysql' ...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:
'./bin/mysqladmin' -u root password 'new-password'
'./bin/mysqladmin' -u root -h localhost.localdomain password 'new-password'
Alternatively you can run:
'./bin/mysql_secure_installation'
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.
You can start the MariaDB daemon with:
cd '.' ; ./bin/mysqld_safe --datadir='/data/maria'
You can test the MariaDB daemon with mysql-test-run.pl
cd './mysql-test' ; perl mysql-test-run.pl
Please report any problems at http://mariadb.org/jira
The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/
6. 复制MariaDB配置文件到/etc目录
> 进行到 MariaDB 安装目录
[root@localhost ~]# cd /usr/local/mysql/
> 拷贝support-files目录下的文件my-large.cnf到/etc目录并重命名为my.cnf
[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf
7. 创建启动脚本
[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
8. 启动mysqld服务
[root@localhost mysql]# /etc/rc.d/init.d/mysqld start
9. 配置环境变量, 以便在任何目录下输入mysql
> 打开并新建文件
[root@localhost mysql]# vim /etc/profile.d/mysql.sh
> 输入以下内容
export PATH=$PATH:/usr/local/mysql/bin/
> 保存并退出
:wq
> 为脚本赋于可执行权限
[root@localhost mysql]# chmod 0777 /etc/profile.d/mysql.sh
> 进行mysql.sh脚本所在目录, 并执行脚本, 以立即生效环境变量
[root@localhost mysql]# source /etc/profile.d/mysql.sh
10. 初始化MariaDB
> 运行MariaDB初始化脚本
[root@localhost mysql]# ./bin/mysql_secure_installation
> 以下提示:
Enter current password for root (enter for none): 输入当前root密码(没有输入)
Set root password? [Y/n] 设置root密码?(是/否)
New password: 输入新root密码
Re-enter new password: 确认输入root密码
Password updated successfully! 密码更新成功
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
默认情况下,MariaDB安装有一个匿名用户,
允许任何人登录MariaDB而他们无需创建用户帐户。
这个目的是只用于测试,安装去更平缓一些。
你应该进入前删除它们生产环境。
Remove anonymous users? [Y/n] 删除匿名用户?(是/否)
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
通常情况下,root只应允许从localhost连接。
这确保其他用户无法从网络猜测root密码。
Disallow root login remotely? [Y/n] 不允许root登录远程?(是/否)
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
默认情况下,MariaDB提供了一个名为“测试”的数据库,任何人都可以访问。
这也只用于测试,在进入生产环境之前应该被删除。
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
重新加载权限表将确保所有到目前为止所做的更改将立即生效。
Reload privilege tables now? [Y/n] 现在重新加载权限表(是/否)
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
全部完成!如果你已经完成了以上步骤,MariaDB安装现在应该安全。
Thanks for using MariaDB!
感谢使用MariaDB!
进入MariaDB终端
如果说在 初始化MariaDB 中没有设置密码, 进入MariaDB终端, 直接输入 mysql 即可
[root@localhost ~]# mysql
如果设置了密码则加入参数
-u: 用户名
-p: 密码
-P: 端口号
-h: 主机
更多参数具体含义请参数 mysql --help 进行查看!
[root@localhost ~]# mysql -u u_setting_username -p
- 一、日常运维脚本
- 1.1 批量创建用户并赋予sudo权限
- 1.2 批量主机建立互信
- 1.3create_images.sh
- 1.4monitor.sh
- 1.5ftp脚本
- 1.6格式化分区
- 1.7简单的远程执行脚本
- 二、常用服务使用
- 1 ceph (分布式文件系统)
- 1.1 ceph 简介
- 1.2 准备环境
- 1.3 开始部署
- 1.4 cephfs挂载
- 1.5 RBD块存储
- 1.6 object 对象存储
- 1.7 集群扩展
- 1.7.1 增加删除MON
- 1.7.2 增加删除OSD
- 1.7.3 删除MDS
- 注意事项
- 遇到的问题
- 1.8ceph查找数据文件
- 1.9卸载并清理环境
- 2、mysql (数据库)
- 2.1 搭建
- 2.2 使用教程
- 2.2.1 mysql基础配置
- 2.2.1.1 用户权限管理
- 2.2.1.2用户资源限制
- 2.2.1.3 密码管理
- 2.2.1.4用户lock
- 2.2.2mysql语法详解
- 2.2.1建库、表语句
- 2.2.2.2 插入 insert
- 2.2.2.3更新 update
- 2.2.2.4删除 delete
- 2.2.2.5查询 select
- 2.2.6视图 索引 view index
- 2.2.7 修改 alert
- 2.2.2.8清理 truncate drop
- 2.2.9重命名 rename
- 示例语句
- 2.2.3mysql常用函数
- 2.3.1 对比操作符统概
- 2.3.2对比操作符详解
- 2.3.3逻辑操作符
- 2.2.4分配操作符
- 2.2.5流程控制函数
- 2.2.6字符串函数
- 2.2.7字符串对比函数
- 2.2.8数字函数
- 2.2.9日期和时间函数
- 2.2.10聚合/格式转换函数
- 2.2.11 子查询
- 示例语句
- 2.2.4 mysql 高级应用
- 2.2.4.1 存储过程 函数
- 2.2.4.2流程控制
- 2.2.4.3游标
- 2.2.4.4触发器
- 课堂练习
- 2.2.2.5 数据库设计
- 2.2.5.1 数据类型
- 2.2.5.2存储引擎
- 2.2.6Innodb内核
- 1、innodb事务和多版本控制
- 2、体系结构
- 3、InnoDB配置
- 4、buffer pool设置
- 5、其他配置
- innodb限制
- 2.7 字符集
- 2.8锁机制和事务
- 2.8.1锁机制
- 2.8.2事务
- 2.9分区
- 2.9.1 自动分区
- 2.10复制
- 2.11mysql搬移数据目录
- 2.12组复制 GR
- 简介
- 搭建
- 2.3日常运维
- 2.3.1定时任务
- 2.4mycat
- 2.4.1 报错分析
- 2.4.2 修改字符集
- 2.11 mycat使用
- 2.5遇到问题
- 2.5.1 表名库名忽略大小写
- 3、PAAS平台搭建
- 问题汇总
- 1、docker
- 2、日常运维
- 3.1 Kubernetes
- 3.1 kubernetes 高版本搭建
- 4、GlusterFS搭建
- 5、MooseFS搭建
- 5.1搭建
- 5.2运维
- 5.2.1 mfs日志解析
- 5.2.2清理mfs的垃圾数据
- 5.2.3元数据故障恢复
- 5.2.4 MFS优化
- 5.2.5 配置机架感知
- 5.2.6 客户端工具集
- 6、集群切换命令
- 7、ntp服务
- 8、monggoDB
- 8.1搭建单机
- 2、搭建集群及分片
- 9、MariaDB Galera Cluster
- 9.1源码安装MariaDB
- 9.2galera cluster 优劣
- 9.3 rpm安装mariadb
- 10 HAproxy1.7搭建
- 11、sysbench 搭建使用
- 0.5版本
- 12 percona-xtradb-cluster
- 13http服务相关
- 13.1 http状态码解析
- 14 zookeeper
- 14.1 zookeeper日志查看
- 14.2 配置解析
- 14.3 优化
- 15搭建私有pip源
- 16/var/log的日志文件解释
- 15 ansible的搭建及使用
- 15.1 搭建
- 15.2 使用说明
- 16. 搭建本地yum源
- zookeeper
- 优化
- 四、开发语言
- 1、GO语言
- 1.1go简介
- 1.1.1hello_world初识GO
- 1.1.2并发介绍
- 1.1.3 chan介绍
- 1.1.4多返回值
- 1.2go基础
- 1.2.1数据类型
- 1.2.2 go基础结构
- 1.2.3 const及变量介绍
- 1.2.3os和time介绍
- 1.2.4 字符串
- 1.2.5条件判断
- 1.2.6 homework
- go--help
- 1.3 go基础2
- 1.3.1 数组 array
- 1.3.2切片 slice
- 1.3.3 时间和日期
- 1.3.4指针类型
- 1.3.5函数
- 1.3.6可变参数
- 1.3.7 defer
- 1.3.8递归
- 1.9闭包
- 1.10 map
- 1.11 sort
- 1.12 struct 结构体
- 2.perl语言
- 2.1 安装lib包
- 3 python
- 1.语言基础
- 2、编程教学
- 2.1变量和序列
- 2.2 条件语句