温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL是如何安装的

发布时间:2020-05-06 11:50:47 来源:亿速云 阅读:209 作者:三月 栏目:建站服务器

本文主要给大家介绍MySQL是如何安装的,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL是如何安装的吧。                                                           

一、源码编译安装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 编译安装:

MySQL是如何安装的

cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在

另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影

响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译

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

复制如下代码并执行:

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
  • 注意: mysqld脚本是提前写好的,这里提供一个链接供下载使用
    https://pan.baidu.com/s/1AI_VZf7vvopfJzvZMpAI2A

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修改口令同上
  • 看完以上关于MySQL是如何安装的,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI