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'@'%';

  

  

  

posted @   看见酵母菌  阅读(196)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示