centos7安装源码包数据库

一.创建逻辑卷 为以后数据备份做准备
1.创建PV
[root@mysql ~]# pvcarete /dev/vdb
2.创建VG
[root@mysql ~]# vgcreate vg1 /dev/vdb
3.创建LV
[root@mysql ~]# lvcreate -L 400M -n lv1 vg1
4.格式化
[root@mysql ~]# mkfs.xfs /dev/vg1/lv1
5.永久挂载
[root@mysql ~]# vim /etc/fstab
/dev/vg1/lv1            /mysql/data     xfs  defaults     0 0
6.创建挂载点
[root@mysql ~]# mkdir -p /mysql/data
[root@mysql ~]# mount -a
[root@mysql ~]# df
文件系统                1K-块   已用    可用    已用%   挂载点
/dev/mapper/vg1-lv1 396672 10544   365648   3%     /mysql/data
二.为防止因根分区空间不足导致错误
制作一个G的交换分区
[root@mysql ~]# dd if=/dev/zero of=/swap1.img bs=2M count=512
[root@mysql ~]# mkswap /swap1.img -f
[root@mysql ~]# vim /etc/fstab
/swap1.img    swap    swap      defaults 0 0
[root@mysql ~]# swapon -a
[root@mysql ~]# swapon -s
[root@mysql ~]# free -m

三.正式安装源码包mysql
1.关闭防火墙,设计开机不启动
[root@mysql ~]# systemctl stop firewalld
[root@mysql ~]# systemctl disable firewalld
2、卸载系统自带的mariadb软件(如果之前安装过mysql也一并清理)
[root@mysql ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@mysql ~]# rpm -e --nodeps mariadb-libs
3、修改数据目录的所属并且创建一个mysql用户
[root@mysql ~]# useradd -u 27 -s /sbin/nologin -M mysql
[root@mysql ~]# chown -R mysql.mysql /mydata/data/
4、安装cmake编译器跟wget下载命令
[root@mysql ~]# yum install -y cmake wget ncurses-devel.x86_64
5、安装mysql数据库
[root@mysql ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz 
[root@mysql ~]# tar zxf mysql-boost-5.7.23.tar.gz
[root@mysql]# ls boost/
boost_1_59_0
[root@mysql ~]# cd mysql-5.7.17/
[root@mysql mysql-5.7.17]#  cmake . -L
[root@mysql mysql-5.7.17]# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_DATADIR=/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
[root@mysql ~]# make
[root@mysql ~]# make install
初始化数据库
[root@mysql ~]# chown -R root.mysql /usr/local/mysql/
[root@mysql ~]# vim /etc/profile
export  PATH=/usr/local/mysql/bin/:$PATH
[root@mysql ~]# mysql --initialize --user=mysql --basedir=/usr/local/mysql --
datadir=/mysql/data
成功后会在最后一行生成一个密码

如果报错清孔挂载点目录下的文件 [root@mysql ~]# rm -rf /mysql/data/*
然后重新初始化启动和设置环境
[root@mysql ~]# cd /usr/local/mysql/support-files/
[root@mysql support-files]# cp my-default.cnf /etc/my.cnf
[root@mysql support-files]# vim /etc/my.cnf
[mysqld]
...
basedir=/usr/local/mysql
datadir=/mysql/data
port=3306
11/161server_id=121
socket=/tmp/mysql.sock
[root@mysql support-files]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@mysql support-files]# vim /etc/rc.d/rc.local
/usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@mysql support-files]# chmod a+x /etc/rc.d/rc.local
设置启动服务脚本
[root@mysql support-files]# cp mysql.server /etc/init.d/mysqldd
[root@mysql support-files]# chmod +x /etc/init.d/mysqldd
[root@mysql support-files]# /etc/init.d/mysqldd restart
[root@mysql support-files]# chkconfig --add mysqldd
[root@mysql support-files]# chkconfig mysqldd on
[root@mysql support-files]# chkconfig mysqldd --list
[root@mysql support-files]# ss -antp | grep mysqld
LISTEN  0  80  :::3306  :::*
(("mysqld",pid=63756,fd=20))
修改数据库密码
[root@mysql ~]# mysqladmin -u root -p'原密码' password "新密码"
如果原密码忘记了
[root@xiaochen ~]# systemctl stop mysqld
[root@xiaochen ~]# vim /etc/my.cnf
skip-grant-tables
[root@xiaochen ~]# systemctl restart mysqld
[root@xiaochen ~]# mysql
mysql> update mysql.user set authentication_string='' where user='root' and Host='localhost';
mysql> flush privileges;
[root@xiaochen 7]# vim /etc/my.cnf
删掉刚才添加的skip-grant-tables或者注释掉
[root@xiaochen 7]# systemctl restart mysqld
[root@mysql ~]# mysqladmin -u root -p'' password "新密码"

猜你喜欢

转载自blog.csdn.net/qq_42989565/article/details/82390642