mysql启动时不能创建mysqld.pid?

mysql启动时不能创建mysqld.pid?,第1张

1、首先,下载zip格式的mysql后,将其解压到某一个盘下,如D盘下

2、解压后,一般在解压后的文件夹中有my-default.ini文件,没有my.ini文件

3、新建一个my.ini文件,内容可如下。

12[mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设置3306端口port = 3306 # 设置mysql的安装目录(不知道为什么win7(是 / )和win10(是 \ )、本人亲自试过!!!)# 就是因为这个我装不上了(本来是win10、换win7装半天!!!)basedir=D:/new/mysql/mysql-5.6.34-winx64/mysql-5.6.34-winx64# 设置mysql数据库的数据的存放目录datadir=D:/new/mysql/mysql-5.6.34-winx64/mysql-5.6.34-winx64/data# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=MyISAM

至少包含basedir,datadir这两个基本的配置,其他可以没有

4.开始配置mysql服务(管理员身份运行)

执行开始-》运行-》cmd依次输入:

D: cd D:/new/mysql/mysql-5.6.34-winx64/mysql-5.6.34-winx64/bin

mysqld --install MySQL --defaults-file=E:\mysql\mysql-5.6.34-winx64\mysql-5.6.34-winx64\my.ini

提示:安装成功!

一、解决var/run/mysqld没有pid和sock文件

MySQL下mysql.sock丢失丢失的原因一般是因为配置文件不一致的原因,mysqld 错误启动,mysqld_safe 会清除一次mysql.sock 。解决方法是:

判断一般人解决故障时没有切换到mysql用户,造成权限有问题,无法创建mysql授权表,所以也就无法创建/tmp/mysql.sock 和hostname.pid文件。因此,总结解决方法如下:

#su mysql // root 用户也是可以的

$/usr/local/bin/mysql_install_db //到bin目录执行,重建授权表

$/usr/local/bin/mysqld_safe &

mysql -uroot -p//测试

mysq>bye

$

文件已经解决,重新生成新的 /tmp/mysql.sock 和 hostname.pid

var/

$su root

二、解决mysql.sock文件路径不对

1.在/var/lib/mysql创建一个link:ln -s /var/lib/mysql/mysql.sock /path/to/mysql/mysql.sock

2.在root权限下修改my.cnf文件(/etc/mysql/my.cnf),指定正确的路径

3.1和2任选其一就可以

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。1.安装方法有两种,一种是yum安装,另外一种是源码安装

rpm安装命令如下

yum install mysql-server -y

2.查看相关路径的方法如下

[root@rhel5 ~]# find / -name mysql -print

/etc/rc.d/init.d/mysql

/var/lib/mysql

/var/lib/mysql/mysql

/var/lock/subsys/mysql

/usr/lib/mysql

/usr/include/mysql

/usr/share/mysql

/usr/bin/mysql

而 data默认放在:/var/lib/mysql

2.一般来说只要修改数据的存放路径就可以,修改方法如下

原路径:/var/lib/mysql

目标路径:/home/data/mysql

(1)home目录下建立data目录

cd /home

mkdir data

(2)停止mysql进程

service mysqld stop

(3)把/var/lib/mysql整个目录保持权限复制到/home/data

cp -arp /var/lib/mysql /home/data/

(4)找到my.cnf配置文件

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/找到my-medium*.cnf文件,拷贝到/etc/并改名为my.cnf

命令如下:

[root@test1 mysql]# cp

/usr/share/mysql/my-medium.cnf /etc/my.cnf

(5)编辑/etc/my.cnf

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改

socket=/var/lib/mysql/mysql.sock 为:

socket=/home/data/mysql/mysql.sock

*** 作如下:

vi   my.cnf  (用vi工具编辑my.cnf文件,找到下列数据修改之)

# The MySQL server[mysqld]

port = 3306

#socket  =

/var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)

socket  = /home/data/mysql/mysql.sock (加上此行)

(6)修改MySQL启动脚本/etc/init.d/mysql

搜索datadir将/var/lib/mysql修改成现在的实际存放路径:home/data/mysql

[root@test1 etc]# vi /etc/init.d/mysql

get_mysql_option mysqld datadir "/data/mysql"

最后做一个mysql.sock 链接:

ln -s /home/data/mysql/mysql.sock

/var/lib/mysql/mysql.sock(需要从/home/data/mysql下复制一份过来)

(7)重新启动MySQL服务

service mysqld restart

最后创建数据库,查看目标目录下是否已经存在


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7597572.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存