rpm安装两个mysql_MySQL三种安装方式(rpm、binary package、source)

本文介绍了MySQL数据库通过rpm、二进制和源码三种方式的安装步骤。rpm安装中,从MySQL 5.7版本开始需要安装额外的RPM包。二进制安装涉及解决依赖、创建用户和安装数据库。源码安装则包括编译、初始化、设置环境变量等过程。每种安装方法都提供了详细的命令行操作指导。
摘要由CSDN通过智能技术生成

MySQL server 数据库三种安装方式对比:

adf84a48e7bf190ac74b691ae2b154d6.png

1、rpm方式

mysql5.7版本以前只安装mysql-server和mysql-client两个RPM包即可。

从mysql5.7版本之后mysql-community-client依赖于mysql-community-libs

mysql-community-server依赖于mysql-community-common共计需要安装4个RPM包

2、二进制通用方式

解决依赖包:libaio(从MySQL5.5版本开始对此包的依赖)安装libaio

yum的安装方式:

yum install libaio # install libraryrpm的安装方式:

rpm -qa|grep -i aio (检查服务器是否安装libaio,没有安装使用如下安装方式)rpm -ivh libaio-0.3.107-10.el6.x86_64

===========================================================

MySQL5.6版本安装二进制版本安装步骤

===========================================================

mysql二进制版本安装在/usr/local/mysql data路径默认在/var/lib/mysql,配置文件默认在/etc/my.cnf

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

tar -zxvf /path/mysql-version-OS.tar.gz

ln -s /path/mysql-version-OS.tar.gz

cd mysql

mkdir mysql-files

chmod 770 mysql-files

chown -R mysql .

chgrp -R mysql .

scripts/mysql_install_db --user=mysql

chown -R root .

chown -R mysql data #(chown -R mysql /var/lib/mysql)

bin/mysqld_safe --user=mysql &

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

MySQL5.7版本安装二进制版本安装步骤

===========================================================

mysql二进制版本安装在/usr/local/mysql data路径默认在/var/lib/mysql,配置文件默认在/etc/my.cnf

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

tar -zxvf /path/mysql-version-OS.tar.gz

ln -s /path/mysql-version-OS.tar.gz

cd mysql

mkdir mysql-files

chmod 770 mysql-files

chown -R mysql .

chgrp -R mysql .

bin/mysql_install_db --user=mysql #Before MySQL5.7.6

bin/mysqld --initialize --user=mysql #MySQL 5.7.6 and up

#bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

bin/mysql_ssl_rsa_setup #MySQL5.7.6 and up

chown -R root .

chown -R mysql data mysql-files #(chown -R mysql /var/lib/mysql)

bin/mysqld_safe --user=mysql &

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

===========================================================※注意※

在SUSE上,mysql -uroot -p登录时候提示:

mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directorymysql5.7官方文档提示:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

Note

SLES 11: as of MySQL 5.7.19, the Linux Generic tarball package format is EL6 instead of EL5. As a side effect, the MySQL client bin/mysql needs libtinfo.so.5.

A workaround is to create a symlink, such as ln -s libncurses.so.5.6 /lib64/libtinfo.so.5 on 64-bit systems or ln -s libncurses.so.5.6 /lib/libtinfo.so.5 on 32-bit systems.

※注意:SLES 11:从MySQL 5.7.19开始,Linux通用tar包的格式是EL6而不是EL5。以致于MySQL客户端bin/mysql需要libtinfo.so.5。解决方法是创建软链接,例如:

64位系统上的:ln -s libncurses.so.5.6 /lib64/libtinfo.so.532位系统上的: ln -s libncurses.so.5.6 /lib/libtinfo.so.5

3、源码方式

在Centos6.X源码安装可能需要的依赖包:ncurses-devel,bison cmake,gcc-c++,make,zlib-devel

在Centos7.X系统上可能需要的依赖包:autoconf包,否则初始化库的时候可能会失败提示错误:

FATAL ERROR: please install the following Perl modules before executing

05009e10e6ea9536a410b58a6baae3e0.png

使用Oracle官方编译使用参数(mysql_release)为MySQL二进制包的模式编译,编译需要libaio-devel包

如:cmake -DBUILD_CONFIG=mysql_release  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql ../mysql-VERSI

1、创建用户和库目录

useradd mysql -s /sbin/nologin -M

2、编译安装:避免破坏mysql源码,可以新建一个其他路径,

mkdir /home/mysqlbuild

cd /home/mysqlbuild

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 \

-DMYSQL_DATADIR=/data/3306 \

-DMYSQL_UNIX_ADDR=/usr/local/mysql56/mysql.sock \

-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 \

-DWITH_FAST_MUTEXES=1 \

-DWITH_ZLIB=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_READLINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DWITH_DEBUG=0 ../mysql5.5.36

make -j && make install

3、--初始化数据库

scripts/mysql_install_db --basedir=/usr/local/mysql56 --datadir=/data/3306 --defaults-file=/usr/local/mysql56/etc/my.cnf --user=mysql

4、--设置环境变量命令启动

echo 'export PATH=$PATH:/usr/local/mysql56/bin' > /etc/profile.d/mysql.sh

source /etc/profile.d/mysql.sh

或者在profile文件末尾增加两行 vi /etc/profilePATH=/usr/local/mysql56/bin:/usr/local/mysql56/lib:$PATHexport PATH# 使PATH搜索路径立即生效:source /etc/profile

5、--设置权限

cd /usr/local/mysql56

chown -R mysql:mysql . #设置database所有者设为mysql,所属组为mysql

#设置数据路径的属主属组为mysql 权限为775

chown -R mysql:mysql /data/3306(或chown -R mysql /data/3306,chgrp -R mysql /data/3306)

chmod -R 700 /data/3306/ (或chmod -R go-rwx /data/3306/ )

6、--手动启动MySQL数据库

mkdir /usr/local/mysql56/etc/

mv /usr/local/mysql56/my.cnf /usr/local/mysql56/etc/my.cnf

mysqld_safe --defaults-file=/usr/local/mysql56/etc/my.cnf --user=mysql &

7、--关闭数据库

mysqladmin -uroot -p shutdown  (※当socket文件在编译时指定的默认位置,即basedir路径下)

mysqladmin -uroot -p shutdown -S /data/3306/mysql.sock(当socket文件变换位置,需指定socket位置关闭)

当socket删除或者不见了,只能通过建立的TCP/IP连接来代替,可以在连接至本地服务器时可以通过利用--protocol=tcp选项或者把主句值指定为127.0.0.1,而非localhost(因为在Unix里与localhost连接默认都是通过一个Unix域套接字文件实现的,即XXX.sock,如果套接字文件被删除,则无法利用它来建立连接,而127.0.0.1是一个IP地址,它指向的是本地主机的回环接口,因此它会显示地强制使用TCP/IP连接,而不会使用套接字连接)

mysqladmin -uroot -p shutdown--protocol=tcp

mysqladmin -uroot -p shutdown -h127.0.0.1

Centos6.X系统设置系统服务启动方式:

8、--将mysql服务添加至系统服务启动

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

chmod 755 /etc/init.d/mysql

9、--系统命令方式启动

service mysql start|stop|restart|status

Centos7.X系统设置系统服务启动方式:

vim /usr/lib/systemd/system/mysql.service

[Unit]

Description=MySQL Server

After=syslog.target network.target remote-fs.target nss-lookup.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

Type=forking

PrivateTmp=true

ExecStart=/usr/local/mysql56/support-files/mysql.server start

ExecReload=/usr/local/mysql56/support-files/mysql.server restart

ExecStop=/usr/local/mysql56/support-files/mysql.server stop

PIDFile=/data/3306/xiaofeng.pid

就可以通过下列命令启动关闭mysql数据库服务

systemctl start|stop|restart|status mysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
从mysql官网上下载mysql-server_5.7.21-1ubuntu14.04_amd64.deb-bundle.tar,然后进行离线安装,解压该安装包,会出现11个依赖包,按照顺序依次使用sudo dpkg -i 进行安装,中间会报错,显示缺少相应的依赖,具体如下: *******@ubuntu:/opt/mysql$ sudo dpkg -i mysql-community-client_5.7.21-1ubuntu14.04_amd64.deb Selecting previously unselected package mysql-community-client. (Reading database ... 208518 files and directories currently installed.) Preparing to unpack mysql-community-client_5.7.21-1ubuntu14.04_amd64.deb ... Unpacking mysql-community-client (5.7.21-1ubuntu14.04) ... dpkg: dependency problems prevent configuration of mysql-community-client: mysql-community-client depends on libaio1 (>= 0.3.93); however: Package libaio1 is not installed. dpkg: error processing package mysql-community-client (--install): dependency problems - leaving unconfigured Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Errors were encountered while processing: mysql-community-client 和 ********@ubuntu:/opt/mysql$ sudo dpkg -i mysql-community-server_5.7.21-1ubuntu14.04_amd64.deb Selecting previously unselected package mysql-community-server. (Reading database ... 208598 files and directories currently installed.) Preparing to unpack mysql-community-server_5.7.21-1ubuntu14.04_amd64.deb ... Unpacking mysql-community-server (5.7.21-1ubuntu14.04) ... dpkg: dependency problems prevent configuration of mysql-community-server: mysql-community-server depends on libmecab2 (>= 0.996-1.1); however: Package libmecab2 is not installed. dpkg: error processing package mysql-community-server (--install): dependency problems - leaving unconfigured Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Processing triggers for ureadahead (0.100.0-16) ... ureadahead will be reprofiled on next reboot Errors were encountered while processing: mysql-community-server 附上依赖包安装顺序: 1.mysql-common_5.7.21-1ubuntu14.04_amd64.deb 2.libmysqlclient20_5.7.21-1ubuntu14.04_amd64.deb 3.libmysqlclient-dev_5.7.21-1ubuntu14.04_amd64.deb 4.libmysqld-dev_5.7.21-1ubuntu14.04_amd64.deb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值