我编译mysql时,都直接把mysql.sock指向了mysql/run/下面: -DMYSQL_UNIX_ADDR=/usr/local/mysql/run/mysql.sock \
提示mysql.sock文件找不到,我总结我遇到的情况。第一种:没有指定mysql.sock路径,这时我们可以建一个软链接指向该地址,或者直接更改/etc/my.cnf更改sock文件地址
第二种:自己的安装顺序出错了,这里记录一下linux编译mysql的步骤。
1.wget mysql下载地址。
2.yum 安装cmake。mysql的安装跟php和nginx安装方法不一样,他是cmake二进制编译的。
3到解压目录:
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/run/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_SSL=yes
这里有可能报错,看报的什么错误,根据错误而解决错误。缺啥补啥 ^_^。
4.接着就是初始化数据库。先建立mysql用户,mysql用户组,把安装目录所属用户和用户组都替换成mysql #./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql(
这一步是生成mysql.sock文件,如果编译msyql,在服务器上找不到mysql.sock,很有可能是这里出错了)
5.在安装目录下:chown -R root . chown mysql data (mysql需要操作data目录)。
6.拷贝mysq解压目录l配置文件 #cp support-files/my-medium.cnf /etc/my.cnf。
7.启动mysql守护进程 bin/mysqld_safe --user=mysql &,(运行mysql守护进程会产生mysql.sock,这回要求mysql所产生的目录mysql用户必须要有权限,否则我们是找不到mysql.sock这个文件)这一步报错很有可能跟上面#./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql这一个命令有关,
没有mysql.sock文件,或者mysql用户没有msyql.sock所在目录的权限。
8./bin/mysqladmin -u root password ‘123456‘,设置mysql root用户的密码,连接数据库:./bin/mysql -u root -p 断开数据库连接:quit;