CentOS7.X安装MySQL教程

笔者环境:

CentOS:7.2.1511

Hive:1.1.0-cdh5.7.0

本文旨在记录CentOS安装MySQL中遇到的问题及相应解决方案。

1、yum访问不了外网

yum安装时出现错误Errno 14 Couldn't resolve host的解决办法

DNS问题:

systemctl restart NetworkManager

vi /etc/resolv.cof

nameserver 192.168.122.2

nameserver 8.8.8.8

 2. Centos7以上版本没有mysql

yum list | grep mysql

从上面列表中可以看出并没有 mysql-server ,而且执行下命令:

yum install -y mysql-server mysql mysql-devel

安装的是mariadb-devel

3. 卸载mariadb

因为担心Oracle把MySQL变成闭源软件

MySQL的创始人利用MySQL的源代码创建了MariaDB,MariaDB与MySQL兼容

CentOS担心使用MySQL会引来版权问题,所以改为集成MariaDB

yum -y remove mari*
rm -rf /var/lib/mysql/* 

4. 确认机器上是否安装过mysql

rpm -qa | grep -i mysql
# 卸载
rpm -e mysql

5. 下载MySQL安装包并安装

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server

yum install mysql-devel

6.安装后重启服务

#安装成功后重启mysql服务。
service mysqld restart
#初次不需要密码
mysql -u root 
#设置密码
set password for 'root'@'localhost' =password('root');

#启动mysql服务
service mysqld start
#设置开机启动
chkconfig --add mysqld
chkconfig mysqld on
#查看开机启动设置是否成功
    >chkconfig --list | grep mysql*
    # mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭停止

7. 配置MySQL字符集

1)查看/usr/share/mysql/charsets/Index.xml编码:

2)mysql配置文件为/etc/my.cnf

8. 常用命令

# 新建用户
create user 'username'@'%' identified by 'password';  

# 删除用户
drop user 'username'@'%';

# 设置与更改用户密码
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

# 查看用户的授权
show grants for 'username'@'%';

# 授权
GRANT privileges ON databasename.tablename TO 'username'@'host'
PS: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
例子:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码 
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。
mysql>grant all privileges on *.* to root@'%'identified by 'password';
在安装hive时,初始化过程中,出现Access denied问题:
mysql>grant all privileges on *.* to root@'gulfmoon'identified by 'password';

# 撤销用户权限
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
PS: 假如你在给用户'dog'@'localhost''授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'dog'@'localhost', 则在使用REVOKE SELECT ON *.* FROM 'dog'@'localhost';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'dog'@'localhost';则REVOKE SELECT ON test.user FROM 'dog'@'localhost';命令也不能撤销该用户对test数据库中user表的Select 权限.

参考:

http://www.cnblogs.com/starof/p/4680083.html 

https://www.cnblogs.com/zhangkaimin/p/4171269.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值