CentOS7.X安装MySQL教程
程序员文章站
2024-03-21 17:49:46
...
笔者环境:
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 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 权限.
参考:
上一篇: 11、linux系统之service