Linux下MySQL安装(二进制包和源码包)

时间:2022-07-03 21:03:02

一、二进制包安装

mysql安装为什么大部分使用二进制安装。而不是源码手动去编译?

mysql使用的glibc进行开发的。glibc库是一个底层api,所以只要是linux,都会有glibc库。所以,mysql安装不需要考虑环境是否符合要求。移植性很方便。直接将编译好的二进制代码复制到另外一个机器上,也是可以用的。


安装版本:mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz

[root@localhost ~]# groupadd mysql

[root@localhost ~]# useradd -g mysql  mysql

安装步骤:

1、卸载旧版本

使用下面的命令检查是否安装有MySQL Server

[root@localhost ~]# rpm -qa|grep mysql

有的话通过下面的命令来卸载掉

[root@localhost ~]# rpm -e mysql   //普通删除模式
[root@localhost ~]# rpm -e --nodeps mysql    // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

2、解压安装包

一般安装到/usr/local/目录下

[root@localhost ~]# tar -zxvf mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz -C /usr/local/


3、创建软链接

[root@localhost local]# ln -s mysql-5.6.22-linux-glibc2.5-x86_64/ mysql


4、权限的检查和修改

[root@localhost ~]# cd /usr/local/mysql

[root@localhost mysql]# chown -R mysql.mysql .


5、初始化数据库

[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/mysql/mysqldata

注:scripts/mysql_install_db --user=mysql //这是进入mysql安装目录下进行运行的,所以需要输入路径"scripts/"
注意:必须在安装目录下执行。不能切换到scripts目录下,再执行"./mysql_install_db --user=mysql",否则会报如下错误:

FATAL ERROR: Could not find ./bin/my_print_defaults

注、初始化时有时会报这个错误

Linux下MySQL安装(二进制包和源码包)

需要安装libaio-devel库

yum install -y libaio-devel

6、my.cnf配置文件拷贝

[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf


7、修改环境变量

为了省去 环境变量中去

将下面内容加的/etc/profile文件后面    

PATH=/usr/local/mysql/bin/:$PATH

export PATH

[root@localhost mysql]# source /etc/profile //刷新环境变量


8、启动mysql

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld      //添加服务,拷贝服务脚本到init.d目录,并设置开机启动

[root@localhost mysql]# service mysqld start

Starting MySQL.. SUCCESS!


二、源码包安装

安装版本:mysql-5.6.24.tar.gz

[root@localhost ~]# groupadd mysql

[root@localhost ~]# useradd -g mysql  mysql


安装步骤:

1、卸载旧版本

使用下面的命令检查是否安装有MySQL Server

[root@localhost ~]# rpm -qa|grep mysql

有的话通过下面的命令来卸载掉

[root@localhost ~]# rpm -e mysql   //普通删除模式
[root@localhost ~]# rpm -e --nodeps mysql    // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

2、安装编译MySQL所需的安装包

MySQL5.5以上要使用cmake来编译,所以需要安装cmake
[root@localhost ~]# yum -y install make gcc-c++ cmake bison-devel  ncurses-devel openssl-devel

3、安装MySQL

[root@localhost ~]# tar -zxvf mysql-5.6.24.tar.gz
[root@localhost ~]#cd mysql-5.6.24
[root@localhost ~]#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

                                                    -DMYSQL_DATADIR=/mydata \

                                                    -DSYSCONFDIR=/etc \

                                                    -DWITH_INNOBASE_STORAGE_ENGINE=1 \

                                                    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \

                                                    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

                                                    -DWITH_READLINE=1 \

                                                    -DWITH_SSL=system \

                                                    -DWITH_ZLIB=system \

                                                    -DWITH_LIBWRAP=0 \

                                                    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

                                                    -DDEFAULT_CHARSET=utf8 \

                                                    -DDEFAULT_COLLATION=utf8_general_ci

注:如果想清理此前的编译所生成的文件,则需要使用如下命令:

make clean

rm CMakeCache.txt

[root@localhost ~]# make && make install

整个过程需要30分钟左右……漫长的等待


4、修改权限

[root@localhost mysql]# chown -R mysql.mysql /usr/local/mysql/


5、初始化数据库

[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/mysql/mysqldata

注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!


6、my.cnf配置文件拷贝

[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf

编辑vi /etc/my.cnf 添加如下内容:

datadir=/mysql/mysqldata


7、修改环境变量

为了省去每次执行都要进入目录的麻烦。将客户端的路径加入环境变量中去

将下面内容加的/etc/profile文件后面    

PATH=/usr/local/mysql/bin/:$PATH

export PATH

[root@localhost mysql]# source /etc/profile //刷新环境变量


8、启动mysql

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld        //添加服务,拷贝服务脚本到init.d目录,并设置开机启动

[root@localhost mysql]# service mysqld start

Starting MySQL.. SUCCESS!