您的位置:首页 > 运维架构 > Linux

linux编译mysql关于mysql.sock的错误

2016-05-09 10:38 761 查看
我编译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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: