/ 中存储网

fedora 16系统yum方式安装MySQL如何启动以及添加为系统服务

2014-07-13 15:47:03 来源:中存储网

fedora 16 yum安装mysql后怎样启动,以及添加为系统服务

1 yum 安装mysql

#yum install mysql mysql-server mysql-devel

如果遇到 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var

可以使用下面的命令:

启动mysql服务

#systemctl start mysqld.service

设置mysqld为开机自启动

#systemctl enable mysqld.service

2、systemctl的用法

     该命令为系统进程管理命令; 对比表,以apache / httpd 为例

任务 旧指令 新指令

使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service

使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service

检查服务状态 service httpd status systemctl status httpd.service(服务详细信息) systemctl is-active httpd.service (仅显示是否 Active)

显示所有已启动的服务 chkconfig --list systemctl list-units --type=service

启动某服务 service httpd start systemctl start httpd.service

停止某服务 service httpd stop systemctl stop httpd.service

重启某服务 service httpd restart systemctl restart httpd.service

3、 安装后可以这样查看mysql的相应命令的安装位置

查找mysql服务器文件的安装位置

#rpm -ql mysql-server

查找mysql客户端文件的安装位置

#rpm -ql mysql

4、系统默认没有安装mysql管理数据库,运行安装命令

#mysql_install_db

或者加上参数

#mysql_install_db --user=root --basedir=/usr --datadir=/var/lib/mysql

安装完mysql管理数据库后,可以启动mysql了,可以这样查看相应的basedir和datadir的值。

启动mysql

#mysqld_safe --user=root &

查找mysqld的进程号

#ps aux|grep mysqld

结束mysqld,进程号由上面的命令得到,注意是 /usr/bin/mysqld 的进程号,而不是 /bin/sh /usr/bin/mysqld_safe 的进程号。

#kill 35431

5、下载一个mysql的Linux二进制压缩安装包(版本号差不多就行,比如都是5.5.xx)中的support-files/mysql.server文件,修改其中的两行。

basedir=/usr

datadir=/var/lib/mysql

搜索'start'段,在 $bindir/mysqld_safe --datadir="$datadir" 修改为 $bindir/mysqld_safe --user=root --datadir="$datadir" 。

然后

#cp mysql.server /etc/rc.d/init.d/mysqld

#chmod +x /etc/rc.d/init.d/mysqld

至此,mysql就成功注册为服务了,可以使用 #service mysqld start|stop|restrat 命令来运行mysql了。

启动mysql

#service mysqld start

给mysql的root用户添加密码123

#mysqladmin -u root password 123

使用mysql命令行客户端

#mysql -u root -p 123

6、 启动 mysqld.service 出现无法启动的问题

用service mysqld start启动服务时,出现如下错误:

Redirecting to /bin/systemctl start mysqld.service

Failed to issue method call: Access denied

用systemctl start mysql.service时,出现如下错误:

Failed to issue method call: Unit mysql.service failed to load: No such file or directory. See system logs and 'systemctl status mysql.service' for details.

直接输入mysql出现如下错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

解决方法:mysql的拥有者是root,而mysql是用mysql用户身份执行当然写不进去了,是系统权限的问题,chown -R mysql:mysql /var/lib/mysql/ 就可以了