linuxMySQLsock
首先是启动服务。如果是redhat的话,可以使用setup或者ntsysv命令进入服务设置页面后,将mysqld那项选中,然后保存退出。如果不是redhat没有以上工具的话,可以使用chkconfig --level 35 mysqld on命令来开启服务。当然,这只是要求每次系统启动时启动服务,为了不用重启,需要使用/etc/init.d/mysqld start或者service mysqld start命令来使现在的服务启动,如果是重启服务的话,使用service ** restart。
我的mysql是装系统时安装的,你的应该是后来安装的,但是应该也是可以通过上述方式打开的。
在终端中输入mysql,看是否提示有这条命令,如果提示是command not found的话,应该是PATH变量的问题。解决的方法,可以将你安装mysql的路径也加入到PATH中,也可以将mysql中的需要执行的这些命令拷贝到PATH中。不过我mysql也是个菜鸟,真的不清楚有多少命令,所以建议把安装路径加入到PATH中,可以通过修改/etc/profile或者主目录下.bashrc文件来实现。一个是全局,一个只针对本账号。就是在文件中添加PATH=/usr/mysql:$PATH,位置无所谓,添进去应该就ok了。
然后输入mysql命令看看有反映没,如果没反应,就在查查,我也没这么弄过,但是我估计应该好使。
最后是添加mysql的密码了,默认时直接输入mysql就可以进入了,所以要进行修改。输入mysqladmin -u root password ***,就是给root添加密码了,如果是修改的话,格式为mysqladmin -u root -p 旧密码 password 新密码。还有,我真的是个菜鸟,加密码之前,其他账号也可以使用mysql命令直接进入,加了之后其他帐户可以使用mysql -uroot -p命令,然后输入密码进入(root也是以同样的方法进入),但是我不知道怎么添加别的帐户,比如说其他账户tom使用mysql -utom -p来进入,不好意思了。
对了,设定密码的时候,输入的是明文,而由于bash会保留命令,最好清除一下.bash_history,不然别人用一下history命令就可以知道你的密码是什么了。
‘贰’ linux系统mysql服务启动失败
解决“linux系统mysql服务启动失败”问题的具体步骤如下:
1、首先我们查找mysql.sock的文件位置,如果忘记了文件的位置,首先查看/etc/my.cnf文件。
6、mysql启动的时候错误可以通过日志进行判断,日志的路径同样在my.cnf中可以看出。
这样就解决了“linux系统mysql服务启动失败”的问题。
‘叁’ 在Linux安装好MySQL,不能启动mysql,
呵呵,是你的mysql.sock
文件不存在了,
可能是被你不小心删除了,
连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件。
如果你因为丢失套接字文件而不能连接,你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。
另一个解决办法是你现在不能用套接字建立连接因为它不见了,你可以建立一个TCP/IP连接,例如,如果服务器主机是192.168.0.1,你可以这样连接:
%mysql
-u
root
-h
192.168.0.1
-p
%mysqladmin
-u
root
-h
192.168.0.1
-p
shutdown
如果套接字文件被一个cron任务删除,问题将重复出现,除非你修改cron任务或使用一个或使用一个不同的套接字文件,你可以使用全局选项文件指定一个不同的套接字,例如,如果数据目录是/usr/local/var,你可以通过将下列行加入/etc/my.cnf中,将套接字文件移到那里:
[mysqld]
socket=/usr/local/var/mysql.sock
[client]
socket=/usr/local/var/mysql.sock
对服务器和客户均指定路径名,使得它们都使用同一个套接字文件。如果你只为服务器设置路径,客户程序将仍然期望在原位置执行套接字,在修改后重启服务器,使它在新位置创建套接字.如果你有这个问题,事实上任何人可以删除MySQL通讯套接字“/tmp/mysql.sock”,在Unix的大多数版本上,你能通过为其设置sticky(t)位来保护你的“/tmp”文件系统。作为root登录并且做下列事情:
shell>
chmod
+t
/tmp
这将保护你的“/tmp”文件系统使得文件仅能由他们的所有者或超级用户(root)删除。
你能执行ls
-ld
/tmp检查sticky位是否被设置,如果最后一位许可位是t,该位被设置了。
‘肆’ linux mysql默认数据目录在哪
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
最后创建数据库,查看目标目录下是否已经存在
深入学习linux建议读《linux就该这么学》这本书