前言
公司重装服务器后需要配置环境,我被分配到了安装Mysql
。公司服务器是Centos7
,要求使用源码方式安装Mysql5.7.17
,Mysql
需要安装在指定目录下。之前我有在macbook上安装过Mysql
,或者使用docker的方式安装Mysql
,都没碰到过什么问题。因为路径设置我都是默认的,而这次通过二进制文件的方式安装Mysql
需要指定路径,安装过程中碰到些许问题,这里记录一下。
安装过程
解压Mysql安装包
我本次安装的二进制文件安装包已经在服务器上了,就不需要下载了。二进制文件存放目录为/zndata/server
,Mysql数据存放目录为/zndata/data/mysql
cd /zndata/server
在/zndata/server
下新建目录mysql
,把二进制文件移动到mysql
目录,解压
|
|
解压后
会出现3个新文件,继续解压
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
重命名文件夹
mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql-5.7.17
创建mysql组和用户
创建mysql组,账户,设置mysql不能登录
|
|
将/zndata/server/mysql
和/zndata/data/mysql
的所有权更变为mysql用户和用户组
|
|
安装和初始化数据库
|
|
配置my.cnf,编辑以下内容
|
|
配置环境变量 添加如下内容
|
|
使配置即时生效
./etc/profile
设置开机启动并启动mysql
|
|
登录Mysql
mysql5.7在安装时会生成一个密码,可以在error.log中查看到,我这里error.log路径是在/zndata/data/mysql
下。
输入mysql -uroot -p
,输入error.log中查到的密码就登录成功。
添加远程访问权限
本地mysql登录成功后
|
|
设置防火墙,我这里直接将防火墙关闭了。
|
|
做完以上步骤,就可远程连接到mysql了。
遇到的问题
初始化使用./bin/mysql_install_db
报错
原因: mysql_install_db已经不再推荐使用了。
解决办法: 使用./bin/mysqld --initial
来完成初始化。
Mysql启动报错The server quit without updating PID file (/usr/local/var/mysql/xxx.local.pid).
,需要进入bin目录运行./mysqld_safe
后才能成功启动
原因: mysqld_safe没有配置正确,查看error.log日志会显示mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql
。
解决办法: 建立软链接
|
|
登录Mysql报Can't connect to local MySQL server through socket '/tmp/mysql.sock'
原因:初始化mysql时my.cnf中mysql.sock默认在/tmp
下。
解决办法:建立软链接
|
|
结束语
这次安装Mysql中又温习了下Linux的命令,比如创建用户和组,切换用户,解压等命令,还新学习到了软链接,并用软链接的方式解决了安装Mysql过程中的两处问题,收获还是蛮大的,继续努力!