linux 安装mysql

感谢前辈分享的安装过程

mysql安装: https://www.cnblogs.com/brianzhu/p/8575243.html

mysql用户配置: https://blog.csdn.net/luguodehua/article/details/80327462

mysql默认配置文件查找: https://www.cnblogs.com/freeliver54/p/9171748.html

mysql安装:

1. 下载mysql的yum源

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2. 安装mysql的yum源

yum -y install mysql57-community-release-el7-10.noarch.rpm

3. 安装mysql

yum -y install mysql-community-server

mysql配置

1. 启动mysql:

systemctl start  mysqld.service

2. 查看mysql启动状态

systemctl status mysqld.service

3. 登录mysql

默认情况下有一个root用户, 但是密码需要从日志中获取出来

grep "password" /var/log/mysqld.log

登录:

mysql -uroot -p     # 回车后会提示输入密码

输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库

重置密码(注意:默认情况下mysql有密码的规范, 可以修改该规范 以允许使用简单密码, 也可以直接设置复杂一点, 包括大小写, 数字, 特殊字符): 

让root用户仅能在本机登录:  ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉

 yum -y remove mysql57-community-release-el7-10.noarch

允许客户端工具连接:

操作完成上面的,现在还不能用可视化的客户端进行连接,需要我们进行授权:

grant all on *.* to root@'%' identified by '数据库密码';

添加用户

1.  创建用户: 

任意位置登陆的用户:  CREATE USER  'bbb'@'%' identified BY '123456';//表示新创建的用户,名为bbb,这个用户密码为123456,可以从其他电脑远程登陆mysql所在服务器, 

只能本机登陆的用户: CREATE USER  ‘aaa’@‘localhost’ IDENTIFED BY ‘123456’;         //表示创建的新用户,名为aaa,这个新用户密码为123456,只允许本机登陆

 

2. 授权用户:

语法: grant privileges on databasename.tablename to 'username'@'host';

grant select, insert on zje.zje to 'aaa'@'%';  //表示给用户aaa授权,让aaa能给zje库中的zje表 实行 insert 和 select。

grant all on *.* to 'aaa'@'%'; //表示给用户aaa授权,让aaa能给所有库所有表实行所有的权力。

注意:

用以上命令授权的用户不能给其他用户授权,如果想这个用户能够给其他用户授权,就要在后面加上   WITH GRANT OPTION

如: grant all on *.* to 'aaa'@'%' with grant option;

创建的一般用户最好回收掉drop权限, 血的教训....

 

3.设置与更改用户密码

SET  PASSWORD  FOR  ‘username’@‘host’ = PASSWORD(‘newpassword’); 

如果是设置当前用户的密码:

SET  PASSWORD = PASSWORD('newpassword');

如: SET  PASSWORD = PASSWORD(‘123456’);

 

4.撤销用户权限:

命令:REVOKE   privileges   ON  database.tablename  FROM  ‘username’@‘host’;

例如: REVOKE  SELECT ON  *.*  FROM  ‘zje’@‘%’;

撤销carl用户的drop权限:  revoke drop on *.* from 'carl'@'%';

但注意:

若授予权利是这样写: GRANT  SELECT  ON  *.*  TO ‘zje’@‘%’;

则用 REVOKE  SELECT ON   zje.aaa  TO  ‘zje’@‘%’;是不能撤销用户zje 对 zje.aaa 中的SELECT 权利的。

反过来 GRANT SELECT  ON  zje.aaa  TO  ‘zje’@‘%’;授予权力

用 REVOKE SELECT ON  *.*  FROM  ‘zje’@‘%’;也是不能用来撤销用户zje 对zje库的aaa表的SELECT 权利的

 

配置修改

1. mysql5.7默认情况下group by函数是受限制的, 如下sql是会报错的

select * from information_schema.TABLES t group by t.TABLE_TYPE; 
报错信息: 
of SELECT list is not in GROUP BY clause and contains nonaggregated column 'wes_trader.b.integral_value' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

执行sql, select @@GLOBAL.sql_mode; 得到如下查询结果

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

此时需要修改mysql的配置文件, /etc/my.cnf 文件, 在文件的最末尾添加上如下配置, 即去掉ONLY_FULL_GROUP_BY参数

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值