MySQL安装方式有:
RPM安装
优点:安装简单
缺点:需要单独下载客户端和服务器,安装路径不灵活,默认路径不可修改,一台服务器只能安装一个MySQL
二进制包
优点:安装简单,可以安装到任何路径下,灵活性好;一台服务器可以安装多个MySQL
缺点:已经编译好,性能不如源码编译;不能灵活定制编译参数
源码
优点:可以根据实际环境需求定制编译参数,最灵活;一台服务器可以安装多个MySQL
缺点:安装过程比较复杂,编译时间较长
企业中,用的都是源码编译安装
源码安装方式:
提前准备-源码安装包:
mysql-5.7.24.tar
boots_1_59_0.tar
清理安装环境
[root@centos7 ~]# yum remove mariadb mariadb-server mariadb-libs mariadb-devel -y
(删除软件)
[root@centos7 ~]# userdel -r mysql
(删除用户)
[root@centos7 ~]# rm -rf /etc/my*
(删除配置文件)
[root@centos7 ~]# rm -rf /var/lib/mysql
(删除rpm和二进制)
[root@centos7 ~]# rm -rf /usr/local/mysql
(删除源码)
[root@centos7 ~]# rm -rf CMakeCache.txt
(解压包里面)
创建mysql账户
[root@centos7 ~]# useradd -r mysql -M -s /sbin/nologin -r 创建系统用户 -M 禁止创建家目录
-s 指定登陆shell /bin/bash 可登录 /sbin/nologhin 不可登陆
从官网下载.tar.gz的源码安装包,并解压!版本可以根据官网自行挑选!
mysql-5.7.24tar.gz
boost_1_59_0.tar.gz
注:
从mysql5.7版本开始,编译依赖需要boost类库,所以需要下载好对应的boost包。
Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。
下载地址: https://www.boost.org/users/download/
mysql安装包-官网下载地址:https://dev.mysql.com/downloads/mysql/
解压mysql压缩包,再解压boost安装包,把boost压缩包解压到mysql目录里面去。
[root@centos7 ~]# tar -xvf mysql-5.7.24.tar.gz
[root@centos7 ~]# tar -xvf boost_1_59_0.tar.gz -C mysql-5.7.24/
安装依赖环境及准备!编译安装有一定的系统安装条件,也就是对其他包的依赖。这时候我们就要安装一些依赖包。
[root@centos7 ~]# yum install -y ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
创建安装路径,并将其所属组和所属者改为mysql
[root@centos7 ~]# mkdir -p /usr/local/mysql/data && chown -R mysql:mysql /usr/local/mysql
Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令。
将当前前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup:
chown -R runoob:runoobgroup *
配置及编译安装
首先需要cd到解压mysql的目录下, 执行下面的命令;
[root@centos7 ~]# cd mysql-5.7.24/
[root@centos7 mysql-5.7.24]# cmake . -DWITH_BOOST=boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
上述指令运行后,若提示以下内容,则表示配置成功:
-- Configuring done → 配置完成
-- Generating done → 生成完成
开始编译安装[root@yan mysql-5.7.24]# make && make install
初始化及编辑配置文件,需要先进入mysql的安装目录。
[root@centos7 ~]# cd /usr/local/mysql
初始化,并生成密钥
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注意:这个初始密码复制保存,后续要更改,如果忘记的话,就无法登录mysql。
编辑mysql配置文件
vim /etc/my.cnf
[mysqld]basedir=/usr/local/mysql → 配置安装目录
datadir=/usr/local/mysql/data → 配置数据存放目录
启动mysql
生成mysql.server脚本
cp ~/mysql-5.7.24/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
systemctl restart mysql
使用初始密码,进入MySQL
[root@centos7 ~]# cd /usr/local/mysql
[root@centos7 mysql]# ./bin/mysql -uroot -p
Enter password: <<----初始密码,复制粘贴过来即可---->>
修改密码重新登陆
SET PASSWORD=PASSWORD('1'); (为了方便我设置的密码是1)
退出后,重新登录mysql,这次尝试用新密码'1'进行登录,可以登陆,则说明密码修改成功
在环境变量中添加路径
重新加载环境变量
设置完成后在任何路径都可以登陆数据库