MySQL-5.6.31源码包部署
部署HTTPD-2.4.37源码包点击跳转
部署PHP-7.2.17源码包点击跳转
准备工作
1. 安装包下载
见文章顶部下载
2. 下载mysql所需要的依赖
yum install cmake pcre-devel ncurses-devel openssl-devel libcurl-devel -y
3. 上传源码包到服务器
这里各位就各显神通吧,推荐用MobaXterm远程连接工具或scp
命令
这里用MobaXterm远程连接工具
开始安装
1.创建一个mysql系统账号
useradd -r -s /sbin/nologin mysql
2. 解压
tar xf ./mysql-5.6.31.tar.gz
3. 使用cmake配置MySQL的安装向导
先进入./mysql-5.6.31
文件夹
cd ./mysql-5.6.31
配置MySQL的安装向导
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/usr/local/mysql/data -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_USER=mysql
参数说明:
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \数据目录
-DENABLED_LOCAL_INFILE=1 \开启加载外部文件功能;1开启,0关闭
-DWITH_INNOBASE_STORAGE_ENGINE=1 \将InnoDB存储引擎静态编译到服务器
-DMYSQL_TCP_PORT=3306 \端口
-DDEFAULT_CHARSET=utf8mb4 \字符集
-DDEFAULT_COLLATION=utf8_general_ci \字符校验规则
-DWITH_EXTRA_CHARSETS=all \扩展字符集
-DMYSQL_USER=mysql用户身份mysql
4. 安装
make && make install
5. 更改目录权限以及初始化数据库
更改属主与属组
chown -R mysql.mysql /usr/local/mysql
删除/etc/my.cnf
文件,如果不删除此文件,会导致初始化失败
rm -f /etc/my.cnf
进入/usr/local/mysql
目录
cd /usr/local/mysql
运行下面命令,初始化mysql
./scripts/mysql_install_db --user=mysql
6. 启动mysql
把mysql的启动脚本copy到/etc/init.d
目录下,起名叫mysql
cp support-files/mysql.server /etc/init.d/mysql
启动mysql
service mysql start
7. 设置密码与环境变量
先进入/usr/local/mysql
目录
cd /usr/local/mysql
设置密码
bin/mysqladmin -u root password '1234'
Warning: Using a password on the command line interface can be insecure.
这个提示可以不用管
8. 添加环境变量
把/usr/local/mysql/bin
目录添加到环境变量
echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile
刷新一下环境变量
source /etc/profile
9.登录测试一下
mysql -u root -p
执行后输入MySQL密码
报错解决
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
这个错误表示 MySQL 客户端无法找到或连接到在 /var/lib/mysql/mysql.sock 路径上指定的 Unix 套接字文件
解决办法:找到my.cnf文件一般在/usr/local/mysql/my.cnf
把socket
解除注释并在后面添加/var/lib/mysql/mysql.sock
# socket = .....
改为
socket = /var/lib/mysql/mysql.sock