MySQL安装

更多文章请参考:
www.zzmao.top

​ 这篇博客笔记主要是讲MySQL的安装,其中包括源码编译安装,二进制程序安装以及yum多实例安装(yum安装省略)

一、源码编译安装mariadb:

1、 工具包安装(mariadb安装环境)

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

2、 做准备用户和数据目录

mkdir /data
useradd -r -s /sbin/nologin -d /data/mysqldb -m mysql
tar -xvf mariadb-10.2.15.tar.gz

3、 cmake 编译安装:

cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译

进入解压的源码包文件夹下: cd mariadb-10.2.15/

复制如下代码并执行:<!--more-->cmake \-DCMAKE_INSTALL_PREFIX=/app/mysql \-DMYSQL_DATADIR=/data/mysqldb \-DMYSQL_UNIX_ADDR=/app/mysql/data/mysql.sock \-DENABLED_LOCAL_INFILE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_EXAMPLE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DMYSQL_TCP_PORT=3306 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DMYSQL_USER=mysql \-DWITH_DEBUG=0


  • 编译参数说明

cmake \-DCMAKE_INSTALL_PREFIX=/app/mysql \ #安装的根目录-DMYSQL_DATADIR=/data/mysqldb \ #数据存放目录-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \ #UNIX socket文件 -DENABLED_LOCAL_INFILE=1 \ #启用加载本地数据-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #支持ARCHIVE引擎-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #支持BLACKHOLE引擎-DWITH_FEDERATED_STORAGE_ENGINE=1 \ #支持FEDERATED引擎 -DWITH_EXAMPLE_STORAGE_ENGINE=1 \ #支持EXAMPLE引擎 -DWITH_PARTITION_STORAGE_ENGINE=1 \ #支持PARTITION引擎-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MYISAM引擎-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ #支持PERFSCHEMA引擎-DMYSQL_TCP_PORT=3306 \ #对外开放的默认端口-DEXTRA_CHARSETS=all \ #支持所有扩展字符支持-DDEFAULT_CHARSET=utf8 \ #默认字符集为utf8 latin-DDEFAULT_COLLATION=utf8_general_ci \ #默认字符校对utf8-DMYSQL_USER=mysql \ #指定mysql启动用户-DWITH_DEBUG=0 #调试模式


 

执行完后开始进行编译安装,执行如下命令:

make && make install(可指定cpu核心数  -j [number])

提示:如果出错,执行rm -f CMakeCache.txt

4、准备环境变量

echo 'PATH=/data/mysql/bin:$PATH' >/etc/profile.d/mysql.sh

重新执行刚修改的初始化文件,使之立即生效 :

. /etc/profile.d/mysql.sh(或者source)

5、生成数据库文件

cd /app/mysql/
scripts/mysql_install_db --datadir=/data/mysqldb/ --user=mysql

6、准备配置文件

cp /data/mysql/support-files/my-huge.cnf /etc/my.cnf

7、准备启动脚本

cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld

8、启动服务

chkconfig --add mysqld ;service mysqld start

二、通用二进制格式安装

  • 注意:这种方法安装我们采用LVM逻辑卷来安装

1、数据库存放的空间,逻辑卷

fdisk /dev/sda
partprobe 
pvcreate  /dev/sda6
vgcreate  vg0 /dev/sda6
lvcreate  -n mysql -l +100%FREE vg0
mkfs.xfs  /dev/vg0/mysql 

将上面创建的逻辑卷进行挂载,并设置开机自动挂载

mkdir /data
mount /dev/vg0/mysql  /data
vim /etc/fstab 

2 创建mysql系统用户

useradd -r -s /sbin/nologin -d /data/mysql -m mysql

3 二进制程序存放对应路径

tar xvf mariadb-10.2.16-linux-x86_64.tar.gz  -C /usr/local/
cd /usr/local/
  • 在当前目录下创建软连接mysql

ln -s mariadb-10.2.16-linux-x86_64/ mysql
  • 更改所属组为mysql

chown -R root.mysql /usr/local/mysql/

4 PATH变量

vim /etc/profile.d/mysql.sh
PATH=/usr/local/mysql/bin:$PATH
. /etc/profile.d/mysql.sh

 

5 创建数据库相关数据文件(初始化数据库)

cd /usr/local/mysql/
scripts/mysql_install_db  --datadir=/data/mysql --user=mysql

6 准备Mysql配置文件

cp  /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
vim /etc/my.cnf
datadir=/data/mysql

 

7 准备启动脚本

chkconfig --list
cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list
service mysqld start

8 启动脚本进行安全加固

mysql_secure_installation 

至此mariadb已经安装完毕。

三、MySQL多实例安装(yum)

1、创建mysql相关目录

mkdir /mysqldb/{3306,3307,3308}/{etc,bin,data,pid,socket,log} -pv

2、yum安装MariaDB-server

yum install mariadb-server

3、更改目录所属权限

chown -R mysql.mysql /mysqldb/

4 、生成数据库文件

mysql_install_db  --datadir=/mysqldb/3306/data --user=mysql
mysql_install_db  --datadir=/mysqldb/3307/data --user=mysql
mysql_install_db  --datadir=/mysqldb/3308/data --user=mysql

5、准备配置文件

cp /etc/my.cnf /mysqldb/3306/etc/
vim /mysqldb/3306/etc/my.cnf 
[mysqld]
port=3306
datadir= /mysqldb/3306/data
socket=/mysqldb/3306/socket/mysql.sock
[mysqld_safe]
log-error=/mysqldb/3306/log/mariadb.log
pid-file=/mysqldb/3306/pid/mariadb.pid
​
cp /mysqldb/3306/etc/my.cnf /mysqldb/3307/etc/
cp /mysqldb/3306/etc/my.cnf /mysqldb/3308/etc/
sed -i 's/3306/3307/g' /mysqldb/3307/etc/my.cnf
sed -i 's/3306/3308/g' /mysqldb/3308/etc/my.cnf

6、生成启动脚本

cp mysqld /mysqldb/3306/bin/
vim /mysqldb/3306/bin/mysqld 
chmod +x /mysqldb/3306/bin/mysqld

7、启动关闭服务

/mysqldb/3306/bin/mysqld start
/mysqldb/3306/bin/mysqld stop
/mysqldb/3306/bin/mysqld restart
  • 注意3306、3307、3308启动服务一样

8、指定套接字文件启动不同监听端口的mysql服务

mysql -S /mysqldb/3306/socket/mysql.sock 
mysql -S /mysqldb/3307/socket/mysql.sock 
mysql -S /mysqldb/3308/socket/mysql.sock 

9、 修改root口令

 mysqladmin  -S /mysqldb/3306/socket/mysql.sock password 'centos'
  • 注意:由于执行脚本里加上了密码(centos),所以如果不执行修改root口令则启动stop时会报错

  • 3307、3308修改口令同上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值