Apache服务器基础教程-03从源码安装MySQL

Apache服务器基础教程-03从源码安装MySQL

一、工具

  1. Ubuntu 16.04 Server
  2. mysql-8.0.15.tar.gz 源码包

MySQL最新源代码下载地址:https://dev.mysql.com/downloads/mysql/

我们直接下载最新版MySQL的源代码,如图所示
Apache服务器基础教程-03从源码安装MySQL_第1张图片

二、安装步骤

  1. 安装编译环境
  2. 配置编译参数
  3. 编译与安装
  4. 使用MySQL

废话不多说,接下来开始了

三、安装过程

以下操作均在root用户模式下进行,“#”之后为注释内容

1. 安装编译环境

(1)cmake编译工具:早在MySQL 5.* 的时候,MySQL源码就开始使用cmake进行编译了,在安装源码之前我们先安装上cmake

apt install cmake

(2)ncurses库:这个库是必须的,安装命令如下

apt install libncurses-dev

(3) Boost C++ 库:MySQL8.0.15需要依赖boost_1_68_0,不过我在写这个文档的时候,在Ubuntu 16.04中却只有boost_1_58,所以我们需要进入boost官网直接下载压缩包,然后解压到系统目录中,在编译过过程中指定boost目录即可。以下链接作为参考

官网链接:https://www.boost.org/
boost_1_68_0下载链接:https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz

下载boost_1_68_0压缩包之后,我们直接将其解压到系统目录中,如下命令:

tar -zxvf boost_1_68_0.tar.gz #解压安装包
mv boost_1_68_0 /usr/local/ #把boost文件目录移动到系统目录

2.配置编译参数

(1)根据官网文档,我们在编译MySQL 8.0.15源码之前。执行以下命令,添加名为“mysql”的用户

groupadd mysql #添加用户组
useradd -r -g mysql -s /bin/false mysql #添加用户

(2)解压源码包

tar -zxvf mysql-8.0.15.tar.gz #解压源码包
cd mysql-8.0.15 #进入源码目录
mkdir bld #新建一个用于保存编译中间文件的临时目录
cd bld #进入临时目录

(3)配置编译参数

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_BOOST=/usr/local/boost_1_68_0/

cmake命令执行之后会构建出编译参数文件,如下参数说明:
:两个点代表编译上一级目录,因为bld临时目录是在源码目录之下的一个目录,而我们需要指向源码目录
-DCMAKE_INSTALL_PREFIX:指定mysql的安装位置,如果这个参数不指定的话,默认就是/usr/local/mysql
-DWITH_BOOST:指定boost_1_68_0的安装目录,对应1(3)

(4)结果分析
a.通过:如果配置没有错误,你会看到“Configuring done”等的提示,如下图,你可执行下一步的编译与安装。
Apache服务器基础教程-03从源码安装MySQL_第2张图片

b.不通过:如果出错了,那肯定是你的操作不对了。此时你好好分析错误提示,同时需要删除当前bld临时目录下面cmake命令执行之后产生的所有文件,细心一点,根据文档教程重来一遍。

3.编译与安装

(1)编译:

make

(2)安装:

make install

安装时间比较长,可能需要等好几十分钟,主要取决与你电脑的速度。
(3)初始化:
安装完成之后,根据官方文档,我们需要执行以下命令:

cd /usr/local/mysql #进入安装目录
mkdir mysql-files #创建目录
chown mysql:mysql mysql-files #修改目录所有者
chmod 750 mysql-files #修改目录权限
bin/mysqld --initialize --user=mysql #初始化mysql,此时会为'root'@'localhost'用户生成一个临时密码,我们需要记住
bin/mysql_ssl_rsa_setup #执行ssl_rsa初始化命令

将服务脚本复制到系统中,当然了,这是可选的,命令如下

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

完成以上操作,就可以开启服务了,命令如下

bin/mysqld_safe --user=mysql &

登录到MySQL数据库

bin\mysql -u root -p

连接数据库之后,使用以下命令修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

4.使用MySQL

在MySQL 8.0系列中,默认的身份验证插件已将 mysql_native_password更改为 caching_sha2_password,并且在 ‘root’@'localhost’管理帐户中默认使用caching_sha2_password验证方式。
以现在的情况来说,默认情况下很多开源程序如wordpress、typecho是不可以直接连接的,所以使用MySQL8.0数据库,你可以更改默认验证方式,你还可以新建一个专门用于你项目开发的一个数据库账号,并使用mysql_native_password验证方式。

(1)以下方法可更改root用户的验证方式:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

(2)默认情况下MySQL 8.0使用第三方工具默认也是不能连接的,如果有需要,你需要更改一下密码的加密方式:

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;

(3)如果你想同时更改密码验证方式和加密方式,可以直接使用以下命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码' PASSWORD EXPIRE NEVER;

到这里就算安装成功了,感谢你的阅读

此博客参考MySQL官方文档https://dev.mysql.com/doc/

你可能感兴趣的:(关系型数据库,计算机操作系统与网络)