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

8 - mysql配置

解释命令
安装服务端yum install mysql-community-server
启动service mysqld start/restart
停止service mysqld stop

Centos7默认安装mariadb数据库

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

yum remove mariadb-libs.x86_64
yum search mariadb
yum remove mariadb-libs.x86_64
  • 添加mysql的源

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

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
  • 安装源
yum localinstall mysql57-community-release-el7-11.noarch.rpm
  • 安装mysql的服务
yum install mysql-community-server
  • 查看服务有没有启动起来
ps -ef | grep mysql

sudo chown -R mysql:mysql /var/lib/mysql/

systemctl enable mysqld

systemctl start mysqld

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

sudo chown -R mysql:mysql /var/lib/mysql/

  • 默认密码
cat /var/log/mysqld.log | grep password

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

A temporary password is generated for root@localhost: XjgCcwsUl9=L
mysql -uroot -pXjgCcwsUl9=L
set password = 'ty123456';

更改密码策略为LOW
set global validate_password_policy=0;
更改密码长度
set global validate_password_length=0;

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

mysql -uroot -p
mysql -h127.0.0.1 -uroot -p 
# 通过h指定主机连接
  • 运程连接
show databases;
use mysql;
show tables;
select * from user \G
select Host,User from user \G
mark
mark

\G表示格式化输出。

update user set host = '%' where Host = "localhost" and User = 'root';

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

flush privileges;

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

ps -ef | grep firewalld
sudo service firewalld stop

将防火墙关闭。

  1. 连接到数据库里面,然后showdatabases。
  1. usemysql 修改mysql
  2. update user
  3. flush privileges;
  4. firewalld
  • 开启Genelog

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

Mysql>

set global general_log_file="/tmp/general.log";

设置目录之后开启。

set global general_log=on;

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

tail -f /tmp/general.log

-f 代表循环读取

权限禁止:

sudo su -
mark
mark

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

两步走; 设置位置 & 开启

  • 新建用户和权限操作

mysql>

create user 'mtianyan'@'%' identified by 'ty123456'
mark
mark

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

grant all privileges on *.* to 'mtianyan'@'%' identified by 'ty123456' with grant option;

flush privileges;

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

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

grant select,insert on *.* to 'mtianyan'@'%' identified by 'ty123456' with grant option;

收回权限

revoke all privileges on *.* from mtianyan;
flush privileges;
  • 忘记root密码怎么办?
sudo vim /etc/my.cnf

最后添加一行 skip-grant-tables

sudo service mysqld restart

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

use mysql;
show tables;

set password = "ty158917"

set password = password("ty158917")

当我们第一次安装数据库时我们可以通过上面的set命令来更新我们的密码。

当我们已经用过数据库。得使用其他方式进行更新操作。
update user set authentication_string = password("ty158917") where user = 'root';
flush privileges;

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值