欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

一.MySQL安装

程序员文章站 2022-05-18 23:26:11
版本:linux7.6 一.编译安装 1.下载epel源 [root@db01 ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo 2.安装依赖 [root@db01 ~]# yum i ......

 版本:linux7.6

一.编译安装

1.下载epel源

[root@db01 ~]# wget -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

2.安装依赖

[root@db01 ~]# yum install -y ncurses-devel libaio-devel autoconf cmake gcc gcc-c++ glibc

3.解压mysql源码包

[root@db01 ~]# tar xf mysql-5.6.40.tar.gz

4.进去源码包目录

[root@db01 ~]# cd mysql-5.6.40/

5.创建目录

[root@db01 ~]# mkdir /application

6.生成编译文件

[root@db01 mysql-5.6.40]# cmake . -dcmake_install_prefix=/application/mysql-5.6.40 \
#程序存放位置 
-dmysql_datadir=/application/mysql-5.6.40/data \ 
#数据存放位置
-dmysql_unix_addr=/application/mysql-5.6.40/tmp/mysql.sock \
#使用utf8字符集
-ddefault_charset=utf8 \
#校验规则
-ddefault_collation=utf8_general_ci \
#使用其他额外的字符集
-dwith_extra_charsets=all \ #支持的存储引擎
-dwith_innobase_storage_engine=1 \ 
-dwith_federated_storage_engine=1 \
-dwith_blackhole_storage_engine=1 \
#禁用的存储引擎
-dwithout_example_storage_engine=1 \
-dwith_zlib=bundled \ #启用zlib库支持(zib、gzib相关)
-dwith_ssl=bundled \ #启用ssl库支持(安全套接层)
-denabled_local_infile=1 \ #启用本地数据导入支持
-dwith_embedded_server=1 \ #编译嵌入式服务器支持
-denable_downloads=1 \ 
# mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
-dwith_debug=0 #禁用debug(默认为禁用)

7.编译安装

[root@db01 mysql-5.6.40]# make && make install

8.创建mysql用户

[root@db01 mysql-5.6.40]# useradd mysql -s /sbin/nologin -m

9.做软链接

[root@db01 mysql-5.6.40]# ln -s /application/mysql-5.6.40 /application/mysql

10.进去其他文件目录

[root@db01 mysql-5.6.40]#  cd /application/mysql/support-files

11.拷贝mysql配置文件

[root@db01 support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y

12.拷贝启动脚本

[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld

13.进去初始化目录

[root@db01 support-files]# cd /application/mysql/scripts

14.初始化mysql

[root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

15.创建socket文件所在目录

[root@db01 scripts]# mkdir /application/mysql-5.6.40/tmp

16.授权mysql服务目录

[root@db01 scripts]# chown -r mysql.mysql /application/mysql*

17.添加环境变量

[root@db01 scripts]# vim /etc/profile.d/mysql.sh
export path="/application/mysql/bin:$path"

18.加载环境变量

[root@db01 scripts]# source /etc/profile

19.启动mysql

[root@db01 scripts]# /etc/init.d/mysqld start

20用systemctl管理

[root@db01 ~]# vim /usr/lib/systemd/system/mysqld.service
[unit]
description=mysql server
documentation=man:mysqld(8)
documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
after=network.target
after=syslog.target
[install]
wantedby=multi-user.target
[service]
user=mysql
group=mysql
execstart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
limitnofile = 5000

[root@db01 ~]# /etc/init.d/mysqld stop
shutting down mysql.. success!
[root@db01 ~]# systemctl start mysqld

 二.二进制安装

1.解压二进制包

[root@db02 ~]# tar xf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 

2.创建mysql安装目录

[root@db02 ~]# mkdir /application

 3.启动mysql程序到安装目录下

[root@db02 ~]# mv mysql-5.6.40-linux-glibc2.12-x86_64 /application/mysql-5.6.40

 4.做软链接

[root@db02 ~]# ln -s /application/mysql-5.6.40 /application/mysql

5. 进入其他文件目录

[root@db02 ~]# cd /application/mysql/support-files

 6.拷贝配置文件

[root@db02 support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y

 7. 拷贝启动脚本

[root@db02 support-files]# cp mysql.server /etc/init.d/mysqld

8.进入初始化目录

[root@db02 support-files]# cd ../scripts/

 9.创建mysql用户

[root@db02 scripts]# useradd mysql -s /sbin/nologin -m

 10.安装初始化依赖

[root@db02 scripts]# yum install -y autoconf libaio-devel

 11.初始化

[root@db02 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

 12.启动mysq

[root@db02 scripts]# /etc/init.d/mysqld start

 13.添加环境变量

[root@db02 scripts]# vim /etc/profile.d/mysql.sh
export path="/application/mysql/bin:$path"

14.修改

[root@db02 scripts]# sed -i 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe

 15.用systemctl管理.在/etc/my.cnf添加两行信息

[root@db02 mysql]# cat /etc/my.cnf
basedir = /application/mysql
datadir = /application/mysql/data

 16.启动加入开机自启动

[root@db02 mysql]# /etc/init.d/mysqld stop
[root@db02 mysql]# /etc/init.d/mysqld start
 [root@db02 mysql]# systemctl start mysqld
[root@db02 mysql]# systemctl enable mysqld