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

centos7安装mysql

2015-12-15 23:14 615 查看
centos7上默认的数据库是mariaDB,而不是熟悉的Mysql,即使使用yum install mysql来安装,最后装上的仍是MariaDB。所以只好自己手动安装,方式是rpm包。

以下是详细步骤:

1、卸载可能已经安装的MariaDB

#rpm -qa | grep -i maria

mariadb-server.x86_64 //若这里没有任何显示,则表示没有安装

#rpm -e mariadb-server.x86_64

2、从官网下载相应的rpm包,至少包含以下三个:

mysql-community-server-5.7.9-1.el7.i686.rpm
mysql-community-devel-5.7.9-1.el7.x86_64.rpm
mysql-community-client-5.7.9-1.el7.x86_64.rpm

顺序一般为:devel server client

3、安装完之后,要先初始化mysql才能启动。

rpm方式安装的mysql,家目录位于/usr/share/mysql(我是通过“rpm -ql 包名”查找的)。最关键的一步:初始化。如果不经过初始化而直接启动mysql服务器,会报如下错误:

Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.pid).

怎么初始化呢?

sudo /usr/bin/mysql_install_db --user=mysql

这是最低配置了,--datadir这个选项可以不加,因为它会选择默认的/var/lib/mysql作为datadir。

在这之后就可以启动mysql服务了,而上个命令的输出最后面会给出提示):

You can start the MySQL daemon with:

cd /usr ; /usr/bin/mysqld_safe &

在这之后,你再输入service mysql start,终端就会显示:

Starting MySQL SUCCESS!

4、然后我们该启动客户端验证一下,在终端直接输入mysql匿名登录,结果报如下错误:

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

错误代码是13,一般代表权限问题,我使用sudo mysql就能正常登陆。我们看一下该文件所在目录:

$ ll /var/lib/ | grep mysql

drwx------. 5 mysql mysql 4096 12月 15 22:59 mysql

显然,mysql文件夹的所有者是用户mysql,且组内成员和其他人都不允许访问该文件夹,所以才有上面的报错,解决办法就是放开权限,也不要放开太多,毕竟会有风险,只要能让这个文件夹可访问就行了:

sudo chmod o+x mysql/

然后再直接输入mysql就能正常访问了。oh yeah~

5、还没完,因为正常流程(对比Ubuntu使用apt-get安装方式)应该还有一步设定root用户密码,因为你不能老是匿名登录。方法就是:

sudo /usr/bin/mysqladmin -u root password 'new-password'

好了,剩下的就可以用mysql自己的命令解决了,大功告成!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: