前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql配置 | 快速上手Linux玩转典型应用

mysql配置 | 快速上手Linux玩转典型应用

作者头像
用户1332428
发布2018-07-30 15:02:07
5250
发布2018-07-30 15:02:07
举报
文章被收录于专栏:人工智能LeadAI人工智能LeadAI

正文共2452个字,3张图,预计阅读时间8分钟。

解释

命令

安装服务端

yum install mysql-community-server

启动

service mysqld start/restart

停止

service mysqld stop

Centos7默认安装mariadb数据库

被oracle收购了之后。将mysql开源实现

代码语言:javascript
复制
1yum remove mariadb-libs.x86_64
2yum search mariadb
3yum remove mariadb-libs.x86_64

添加mysql的源

https://dev.mysql.com/downloads/repo/yum/

代码语言:javascript
复制
1wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

安装源

代码语言:javascript
复制
1yum localinstall mysql57-community-release-el7-11.noarch.rpm

安装mysql的服务

代码语言:javascript
复制
1yum install mysql-community-server

查看服务有没有启动起来

代码语言:javascript
复制
1ps -ef | grep mysql
2sudo chown -R mysql:mysql /var/lib/mysql/
3systemctl enable mysqld
4systemctl start mysqld

启动报错 Failed to start mysql.service: Unit not found.

代码语言:javascript
复制
1sudo chown -R mysql:mysql /var/lib/mysql/

默认密码

代码语言:javascript
复制
1cat /var/log/mysqld.log | grep password

可以看到mysql为我们默认产生的密码:

代码语言:javascript
复制
1A temporary password is generated for root@localhost: XjgCcwsUl9=L
2mysql -uroot -pXjgCcwsUl9=L
3set password = 'ty123456';
4
5更改密码策略为LOW
6set global validate_password_policy=0;
7更改密码长度
8set global validate_password_length=0;

因为一般黑客会通过history 命令来查看你使用过的命令。

代码语言:javascript
复制
1mysql -uroot -p
2mysql -h127.0.0.1 -uroot -p 
3# 通过h指定主机连接

运程连接

\G表示格式化输出。

代码语言:javascript
复制
1update user set host = '%' where Host = "localhost" and User = 'root';

root 账号 允许任何主机进行连接

代码语言:javascript
复制
1flush privileges;

%代表品所有主机。用户为root。除过刷新权限,我们还可以直接将我们的mysql服务直接进行重启。

代码语言:javascript
复制
1ps -ef | grep firewalld
2sudo service firewalld stop

将防火墙关闭。

1、连接到数据库里面,然后showdatabases。

2、usemysql 修改mysql

3、update user

4、flush privileges;

5、firewalld

开启Genelog

会记录我们所有操作sql语句的记录。

Mysql>

代码语言:javascript
复制
1set global general_log_file="/tmp/general.log";

设置目录之后开启。

代码语言:javascript
复制
1set global general_log=on;

重新打开一个其他的终端:

代码语言:javascript
复制
1tail -f /tmp/general.log

-f 代表循环读取

权限禁止:

代码语言:javascript
复制
1sudo su -

根据我的观察:执行成功的语句会被记录下来.

两步走; 设置位置 & 开启

新建用户和权限操作

mysql>

代码语言:javascript
复制
1create user 'mtianyan'@'%' identified by 'ty123456'

可以看到这时候我们的新用户并没有所有表的权限。

代码语言:javascript
复制
1grant all privileges on *.* to 'mtianyan'@'%' identified by 'ty123456' with grant option;
2
3flush privileges;

*.*代表任意库的任意表,将权限赋予'mtianyan'用户使用任何主机都可以访问。

如果只想赋予一部分权限:

代码语言:javascript
复制
1grant select,insert on *.* to 'mtianyan'@'%' identified by 'ty123456' with grant option;

收回权限

代码语言:javascript
复制
1revoke all privileges on *.* from mtianyan;
2flush privileges;

忘记root密码怎么办?

代码语言:javascript
复制
1sudo vim /etc/my.cnf
2
3最后添加一行 skip-grant-tables
4
5sudo service mysqld restart

输入空密码回车即可进入。

代码语言:javascript
复制
 1use mysql;
 2show tables;
 3
 4set password = "ty158917"
 5
 6set password = password("ty158917")
 7
 8当我们第一次安装数据库时我们可以通过上面的set命令来更新我们的密码。
 9
10当我们已经用过数据库。得使用其他方式进行更新操作。
11update user set authentication_string = password("ty158917") where user = 'root';
12flush privileges;

将我们刚才设置的跳过表验证删除。

原文链接:https://www.jianshu.com/p/35dc29b7c488

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人工智能LeadAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档