欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS7.X安装MySQL教程

程序员文章站 2024-03-21 17:49:46
...

笔者环境:

CentOS:7.2.1511

CentOS7.X安装MySQL教程

Hive:1.1.0-cdh5.7.0

CentOS7.X安装MySQL教程

本文旨在记录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

CentOS7.X安装MySQL教程

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

yum install -y mysql-server mysql mysql-devel

安装的是mariadb-devel

CentOS7.X安装MySQL教程

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编码:

CentOS7.X安装MySQL教程

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

CentOS7.X安装MySQL教程

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 aaa@qq.com'%'identified by 'password';
在安装hive时,初始化过程中,出现Access denied问题:
mysql>grant all privileges on *.* to aaa@qq.com'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

相关标签: mysql