Centos7安装mysql

本文详细介绍如何在CentOS7上安装MySQL服务器,包括下载和安装repo源、安装MySQL、重置密码、创建用户和授权等步骤。同时,提供了解决常见错误的方法,如解决/var/lib/mysql访问权限问题及开放3306端口。

CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。

1. 下载mysql的repo源

$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2. 安装mysql-community-release-el7-5.noarch.rpm包

$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

    安装这个包后,会获得两个mysql的yum repo源:

/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo

3. 安装mysql

$ sudo yum install mysql-server

    根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。

4. 重置密码

    重置密码前,首先要登录

$ mysql -u root

    登录时有可能报这样的错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

$ sudo chown -R root:root /var/lib/mysql

    然后,重启服务:

$ service mysqld restart

    接下来登录重置密码:

$ mysql -u root
mysql > use mysql;
mysql > update user set password=password('admins') where user='root';
mysql > use mysql;
mysql > grant all on root.* to 'root'@'%' identified by 'admins';
mysql > flush privileges;
mysql > exit;
$ mysql -u root -p
Enter password: 
mysql > update user set password=password("zsjAdmin") where user="root";
$ systemctl restart mysql.service

注:执行上面的命令计划就安装完成了,远程可以进行访问。

创建表時报错1044说名你权限不足


第一种
grant all privileges on *.* to root@localhost identified by 'mysql'
flush privileges; 

第二种
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; 
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 
flush privileges; 
 

5. 开放3306端口

    $ sudo vim /etc/sysconfig/iptables

    添加以下内容:

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

    保存后重启防火墙:

    $ sudo service iptables restart

6. 创建普通用户并授权

    示例(使用root用户登录,并假定已经创建了openscannerstore数据库):

    mysql > use mysql;

    #创建openscanner用户与密码并设置为从安装mysql服务的机器本地访问

    mysql > grant all on root.* to 'root'@'localhost'

    identified by 'admins';

    #设置openscanner用户与密码,并从任何机器都可以访问mysql

    mysql > grant all on root.* to 'root'@'%' identified by 'admins';

    mysql > flush privileges; #刷新才会生效

    现在就可以从客户机连接mysql服务器了,如果连接报这样的错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.x.xxx' (113)。因为我们是centos7,请先确认防火墙是否开启来,centos7默认是firewall,我们可以把它停止并禁止使用,然后启动我们熟悉的iptables,这样就好了!

 

注:mysql客户机是需要安装mysql客户端的。

grant all privileges on *.* to root@'%' identified by "admins";

转载于:https://my.oschina.net/Clarences/blog/1498863

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值