正文共2452个字,3张图,预计阅读时间8分钟。
解释 | 命令 |
---|---|
安装服务端 | yum install mysql-community-server |
启动 | service mysqld start/restart |
停止 | service mysqld stop |
Centos7默认安装mariadb数据库
被oracle收购了之后。将mysql开源实现
1yum remove mariadb-libs.x86_64
2yum search mariadb
3yum remove mariadb-libs.x86_64
添加mysql的源
https://dev.mysql.com/downloads/repo/yum/
1wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
安装源
1yum localinstall mysql57-community-release-el7-11.noarch.rpm
安装mysql的服务
1yum install mysql-community-server
查看服务有没有启动起来
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.
1sudo chown -R mysql:mysql /var/lib/mysql/
默认密码
1cat /var/log/mysqld.log | grep password
可以看到mysql为我们默认产生的密码:
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 命令来查看你使用过的命令。
1mysql -uroot -p
2mysql -h127.0.0.1 -uroot -p
3# 通过h指定主机连接
运程连接
\G表示格式化输出。
1update user set host = '%' where Host = "localhost" and User = 'root';
root 账号 允许任何主机进行连接
1flush privileges;
%代表品所有主机。用户为root。除过刷新权限,我们还可以直接将我们的mysql服务直接进行重启。
1ps -ef | grep firewalld
2sudo service firewalld stop
将防火墙关闭。
1、连接到数据库里面,然后showdatabases。
2、usemysql 修改mysql
3、update user
4、flush privileges;
5、firewalld
开启Genelog
会记录我们所有操作sql语句的记录。
Mysql>
1set global general_log_file="/tmp/general.log";
设置目录之后开启。
1set global general_log=on;
重新打开一个其他的终端:
1tail -f /tmp/general.log
-f 代表循环读取
权限禁止:
1sudo su -
根据我的观察:执行成功的语句会被记录下来.
两步走; 设置位置 & 开启
新建用户和权限操作
mysql>
1create user 'mtianyan'@'%' identified by 'ty123456'
可以看到这时候我们的新用户并没有所有表的权限。
1grant all privileges on *.* to 'mtianyan'@'%' identified by 'ty123456' with grant option;
2
3flush privileges;
*.*代表任意库的任意表,将权限赋予'mtianyan'用户使用任何主机都可以访问。
如果只想赋予一部分权限:
1grant select,insert on *.* to 'mtianyan'@'%' identified by 'ty123456' with grant option;
收回权限
1revoke all privileges on *.* from mtianyan;
2flush privileges;
忘记root密码怎么办?
1sudo vim /etc/my.cnf
2
3最后添加一行 skip-grant-tables
4
5sudo service mysqld restart
输入空密码回车即可进入。
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