安装服务端:yum install mysql-community-server
启动:service mysqld start/restart
停止 service mysqld stop
Centos7默认安装mariadb数据库
Mysql在被Oracle收购之前没mariadb的,收购之后,mysql原创始人做了mariadb这样的数据库(因为他希望有个开源的数据库让人使用)
首先得 yum remove mariadb-libs.x86_64
无源加源:https://dev.mysql.com/downloads/repo/yum/
安装源:yum localinstall mysql57-community-release-el7-8.noarch.rpm
安装mysql的一个服务,社区版本使用版本
Yum install mysql-community-server
默认密码:cat /var/log/mysqld.log | grep “ password”
管理软件
SQLyog:跨平台的 Navicat:收费的 HeidiSQL SequalPro:Mac用的
PhpMyadmin:最主流的web数据库连接工具(建议我们这些phper看看源码,回头提醒我)
另外 开启Genelog ,它会记录我们数据库的增删查改的所有数据库语句,为了我们好好去查找一些问题
步骤
1.删除mariadb yum search mysql可以找到
Sudo yum remove mariadb-libs.x86_64
2. https://dev.mysql.com/downloads/repo/yum/进这个网站找到这个
右键复制这个链接
Cd /tmp/
Wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm(这个黏上去)
安装源
Sudo yum localinstall mysql-community-release-el7-11.noarch.rpm
Yum search mysql
Sudo yum install mysql-community-server
就可以了~!ps –ef | grep mysql
看到这个就启动了!
Mysql安装自动生成密码cat /var/log/mysqld.log| grep “ password”找到
Mysql –uroot –p密码就登陆了
重置密码SET PASSWORD = PASSWORD(‘yigefeichangfuzademima123#%@#’); 如果设置简单的密码需要修改2个参数
Mysql> set global validate_password_policy=0;
Mysql> set global validate_password_length=1;
Mysql –h127.0.0.1 –uroot –p密码 –h是主机
如果是远程服务就写他的ip就行了
如果想在自己的电脑远程连接用个软件工具比如SequalPro连接就可以了
但是会不能连接,因为没有开启远程连接方法
Show databases;
Use mysql;
Show tables;选择一个表格user对它授权
Select * from user \G;
我们只需要host和user两个字段
Select Host,User from user \G; 发现3条记录
需要root 所有机器都能访问
Update user set hosts = ‘%’ where Host = “localhost”and User = “root”;
跟新好了Select Host,User from user \G;看看对不对
之后发现仍然不能连接,需要刷新权限
Flush privileages;
或者重启服务sudo service mysqld restart
在连接发现还是不行哈哈哈
其实是防火墙端口被屏蔽了,这个没想到估计要折腾好久了
Ps –ef | grep firewalld看到被拦截了
Sudo service firewalld stop在连接就可以了
总结1 连接到数据库,进mysql 把user表的root 的host改成%
2 重启服务或刷新权限
3 关掉防火墙
Genelog开启 它用来记录所有数据库操作的sql语句,当我们本地开发排错的时候,就可以看到语句对不对。
开启Genelog:mysql –uroot –p登录
Set global general_log_file=”/tmp/general.log”;
来进行设置放的位置
开启:set global general_log = on;
我们可以在另一台机子打开sudo tail –f /tmp/general.log
操作数据库的时候,
看得到命令在不断的添加
来看看查询语句对不对
注意:一般设置在tmp目录
如何在mysql新建用户jhkj
Mysql –uroot –p进入
Create user ‘jhkj’@’%’ identified by ‘yigehenfuzademima456*’;
就可以了
发现一个表都没,因为没权限
赋予权限:grant all privileges on *.* to ‘jhkj’@’%’ identified by ‘yigehenfuzademima456*’ withgrant option; 第一个*任意库,第二个*任意表
Flush privilages;即可
就可以看到所有的表了 加入赋予查询权限grant selecton *.* to ‘jhkj’@’%’ identified by ‘yigehenfuzademima456*’with grant option; (不同全选用,分开select,insert,update,delete)
Revokeall privileges on *.* FROM jhkj 收回所有权限
然后Flush privilages;即可 就木有权限了
假如忘记密码:sudo vim /etc/my.cnf
增加一行skip-grant-tables 跳出授权表的验证
重启sudo service mysqldrestart
Mysql –uroot–p直接可以进入
可以修改密码了
SETPASSWORD = PASSWORD(“asfgtsjaklg5464*”);发现不行
Showdatabases;
Usemysql;
Showtables
Updateuser set authentication_string = password(“aglaskgsag67*”) where user = ‘root’;
Flush privileges;
Exit;就可以了
sudo vim/etc/my.cnf
把那个skip-grant-tables注了!