Cent OS 7.4 源码搭建LAMP
一.安装MySQL,装备的安装包:mysql-5.7.12.tar.gz boost_1_59_0.tar.gz
1.下载软件包
1 2 3 | [root@localhost ~] #wget http://dev.mysql.com/Downloads/MySQL-5.7/mysql-5.7.12.tar.gz [root@localhost ~] #wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download |
2.卸载原先的原先的MySQL和boost,并检查
1 2 3 4 5 | [root@localhost ~] #yum -y remove mysql-* boost-* [root@localhost ~] #rpm -qa mysql [root@localhost ~] #rpm -qa boost |
3.安装MySQL需要的依赖包
1 | [root@localhost ~] #yum -y install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl cmake glibc-static |
4.解压boost到指定路径下,安装MySQL的时候要指定这个路径的
1 | [root@localhost ~] #tar -xf boost_1_59_0.tar.gz -C /usr/local/boost/ |
5.创建MySQL的运行用户,并查看下
1 2 3 4 5 | [root@localhost ~] #groupadd mysql [root@localhost ~] #useradd -r -g mysql mysql [root@localhost ~] #id mysql |
6.解压MySQL,并进入到解压目录
1 2 3 | [root@localhost ~] #tar -xf mysql-5.7.12.tar.gz -C /usr/src [root@localhost ~] #cd /usr/src/mysql-5.7.12 |
7.配置、编译、安装
1 2 | [root@localhost mysql-5.7.12] #cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost -DSYSCONFDIR=/etc [root@localhost mysql-5.7.12] #make && make install |
可以make -j 来指定编译时用到的核心数来提高编译速度,如:指定用4个核心来安装:make -j 4
8.优化调整MySQL
1 2 3 4 5 6 7 | [root@localhost mysql-5.7.12] #chown -R mysql:mysql /usr/local/mysql #赋权 [root@localhost mysql-5.7.12] #cp /usr/src/mysql-5.7.12/support-files/my-default.cnf /etc/my.cnf #复制配置文件 [root@localhost mysql-5.7.12] #cp /usr/src/mysql-5.7.12/support-files/mysql.server /etc/init.d/ #复制启动脚本到系统服务目录下 [root@localhost mysql-5.7.12] #chmod +x /etc/init.d/mysql.server #添加可执行权限 |
编写服务控制脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [root@localhost mysql-5.7.12] #cat <<END >>/usr/lib/systemd/system/mysqld.service [Unit] Description=mysqldapi After=network.target [Service] Type=forking PIDFile=/usr/local/mysql/logs/mysqld.pid ExecStart=/etc/init.d/mysql.server start ExecReload=/etc/init.d/mysql.server restart ExecStop=/etc/init.d/mysql.server stop PrivateTmp=False [Install] WantedBy=multi-user.target END [root@localhost mysql-5.7.12] #echo "export PATH=$PATH:/usr/local/mysql/bin/" >>/etc/profile && source /etc/profile #将MySQL的命令添加到环境变量 [root@localhost mysql-5.7.12] #mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data #初始化MySQL |
修改MySQL配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [root@localhost mysql-5.7.12] #cat <<END >/etc/my.cnf [mysqld] basedir = /usr/local/mysql datadir = /usr/local/mysql/data port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES character_set_server=utf8 init_connect='SET NAMES utf8' log-error=/usr/local/mysql/logs/mysqld.log pid-file=/usr/local/mysql/logs/mysqld.pid END [root@localhost mysql-5.7.12] #mkdir /usr/local/mysql/logs && chown mysql:mysql /usr/local/mysql/logs/ #创建MySQLlog文件并重新赋权 [root@localhost mysql-5.7.12] #systemctl start mysqld #启动服务 [root@localhost mysql-5.7.12] #systemctl enable mysqld #设置开机自启 |
9.登陆MySQL,并修改密码
1 2 3 4 5 6 7 8 9 10 11 12 13 | [root@localhost mysql-5.7.12] #mysql #初始化之后默认没有密码,直接输入mysql就可以登陆了 mysql> alter user 'root' @ 'localhost' identified by 'root' ; #修改密码 # 配置远程root可以远程连接数据 mysql> use mysql mysql> update user set host = '%' where user = 'root' ; mysql> flush privileges; # 新建用户 mysql> CREATE USER 'username' @ 'host' IDENTIFIED BY 'password' ; # 授权 mysql> GRANT ALL ON BasicInfo.* TO 'zhengliang' @ '%' ; |
标签:
MySQL apache php
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话