mariadb编译安装流程

1. 编译前准备环境

CentOS7.4

编译安装 mariadb-10.2.12.tar.gz

iptables -vnL #查看防火墙状态

systemctl stop firewall #关闭防火墙

getenforce #查看SELinux状态

setenforce 0 #关闭SELinux

rpm -q mariadb-server #检查mariadb是否安装

2. 安装开发相关包组

 yum groupinstall ‘development tools‘ yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake libevent-devel gnutls-devel libaio-devel openssl-devel ncurses-devel libxml2-devel

3. 创建mysql系统用户

 useradd -r mysql -s /sbin/nologin

4. 解压源码包

 tar xvf mariadb-10.2.12.tar.gz -C /usr/local/

5. 进入解压包路径

 cd /usr/local/mariadb-10.2.15/

6. 执行cmake make && make install(初始化参数)

 cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql -DMYSQL_DATADIR=/data/mysqldb/ -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

7. 开始编译安装

 make -j 8 && make install

8. 准备环境变量

 echo ‘PATH=/data/mysql/bin:$PATH‘ > /etc/profile.d/mysql.sh source /etc/profile.d/mysql.sh #立即生效环境变量

9. 把/data目录下的mysql目录 属主mysql 属组mysql

 chown -R mysql.mysql /data/mysql/ 

10. 准备配置文件

 #复制配置文件模板覆盖到配置文件里修改 cp -a /data/mysql/support-files/my-huge.cnf /etc/my.cnf vim /etc/my.cnf socket= /data/mysqldb/mysql.sock #修改数据指向路径 datadir=/data/mysqldb #指定数据库位置

11. 准备启动脚本

 cp -a /data/mysql/support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld #以防万一给予启动脚本执行权限

12. 创建数据库库目录

 mkdir /data/mysqldb

13. 初始化数据库

 cd /data/mysql/ #指定以mysql用户的身份 路径在配置文件指定(数据存放位置) scripts/mysql_installl_db --user=mysql --datadir=/data/mysqldb

14. 添加开机启动

 chkconfig --add mysqld #添加服务到开启启动项 chkconfig mysqld on #设置开机自动启动 chkconfig --list mysqld #查看服务是否添加成功

15. 启动服务

 systemctl start mysqld #开启服务 ss -tnl #查看3306是否处于监听状态

16. 编译安装完成

 mysql默认没有密码 记得设置mysql root用户的密码 

17. 运行安全脚本(修改数据库管理员密码)

 mysql #查看user表里的用户,密码,主机 select user,host,password from mysql.user; #使用password函数加密口令,然后修改root密码 update mysql.user set password=password("centos") where user=‘root‘;

18. 报错解决方案

 提示报错可能是权限不足 用户没有访问数据库存放位置的权限 两种解决方案 A:修改配置文件的socket路径:直接指向到数据库(注意目录需赋予权限) B:修改父级目录执行权限 例: /data/mysqldb (数据库路径) chown mysql.mysql /data

相关文章