Mysql 是一个关系型数据库管理系统,运行于Linux 操作系统之上,Apache 和Nginx 作为 Web服务器,Mysql作为后台数据库,PHP /Perl /Python 作为脚本解释器。这四款都是免费或开源的。就能建立起一个稳定、高速的网站系统。Mysql 是一个真正的多线程、多用户的SQL 数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。
实验环境:在 centos 7 上手工编译安装Mysql 5.7.17 (使用NAT模式,在线加载yum源)
实验所需的软件包:Mysql-5.7.17 和 boost_1_59_0
链接: 密码:sn0l
1.准备工作,安装编译环境
2.源码编译安装
(1)创建运行用户,为了加强数据库服务的权限控制,创建专门的运行用户,如mysql .此用户不能直接登录到系统,也不可以创建宿主文件夹。
[root@localhost ~]# useradd -s /sbin/nologin mysql
(2)解压mysql 源码包,释放到/opt/ 目录下。mysql 数据库需要boost 这个库,将 boost 源码包解压到 /usr/local/ 目录下。
(3)配置cmake,将默认使用的字符集设置为utf8 ,并添加其他字符集的支持。
注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧--
(4)编译并安装。mysql 5.7 在make && make install 的过程时间会很长,大约1小时,主要看CPU性能
3.安装后的其他调整
(1)。对数据库目录权限设定
chown -R mysql.mysql /usr/local/mysql/
(2).修改配置文件 vim /etc/my.cnf 添加以下内容
(3)把配置文件 /etc/my.cnf 属主、属组 改为mysql
chown mysql:mysql /etc/my.cnf
(4)设置环境变量
(5)初始化数据库
bin/mysqld \--initialize-insecure \--user=mysql \--basedir=/usr/local/mysql \--datadir=/usr/local/mysql/data(6)把mysql.service 复制到 /usr/lib/systemd/system/ 便于管理,启动mysql
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/systemctl daemon-reloadsystemctl start mysqld
查看mysql运行状态,和3306端口是否开启
(7)给root 账户设置密码为 abc123 提示输入的是原始密码
mysqladmin -u root -p password "abc123"
访问mysql 数据库