linux使用yum的方式安装mysql实践
1、先检测是否已安装mysql
ps -ef|grep mysql
root : pts/ :: /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql : pts/ :: /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root : pts/ :: mysql -u root -p
root : pts/ :: grep mysql
如果已安装mysql,需先卸载mysql
2、安装mysql
yum install -y mysql-server mysql mysql-deve
3、启动mysql服务
service mysqld start //也可以通过/etc/init.d/mysqld start启动
4、设置为开机自启动
chkconfig mysqld on
5、设置root账号的密码
mysqladmin -u root password 'newpwd'
6、为远程客户端连接授权
如何使用priv_type 进行授权
1、单个授权
GRANT priv_type ON database.table TO user[IDENTIFIED BY [PASSWORD] 'password'] [,user [IDENTIFIED BY [PASSWORD] 'password']...]
priv_type代表允许操作的权限。
database.table代表数据库名.表名
注意*代表所有,如database.*代表该数据库的所有表,*.*代表所有数据库的所有表
user由用户名(User)和主机名(Host)构成,中间用@隔开,最好加上单引号,不加也可以执行通过。
2、多个权限授权使用:
grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
-- 权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
-- 当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
-- 当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
-- 用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址连接。
-- ‘连接口令’不能为空,否则创建失败。
password代表设置的密码;
例子
授权所有数据库的所有表的所有权限给ip为任意值用户名为test密码为pwd的用户
GRANT ALL ON *.* TO 'test'@'%' IDENTIFIED BY 'pwd';
授权mydb数据库的所有表的增删改查权限给ip为1.1.1.1用户名为test密码为pwd的用户
GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO 'test'@'1.1.1.1' IDENTIFIED BY 'pwd';
授权mydb数据库的stu表的修改权限给ip为1.1.1.1用户名为test密码为pwd的用户
GRANT UPDATE(name,age) ON mydb.stu TO 'test'@'1.1.1.1' IDENTIFIED BY 'pwd';
实践授权
mysql -u root –p //会提示输入密码,输入上面设置的root新密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newpwd' WITH GRANT OPTION; //*.*表示不对连接的ip做限制
GRANT ALL ON *.* to root@'192.168.1.4' IDENTIFIED BY 'your-root-password'; 针对某个IP进行授权连接
授权完成提示内容:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'testpwd' WITH GRANT OPTION
-> ;
Query OK, rows affected (0.00 sec)
如果不需要进行全部授权如何删除授权呢?删除不对连接的ip做限制的授权root@'%' 。
mysql> drop user root@'%';
Query OK, rows affected (0.00 sec)
这里的%表示刚刚授权的对象,%表示所有的,如果需要删除某个授权,就将%替换为授权时填写的IP
mysql> drop user root@'192.168.1.4';
Query OK, rows affected (0.00 sec)
如果没有进行授权,链接将会出现错误,这里我拿的是Navicat Premium工具做的测试。

罗列已经授权的用户列表信息 select * from information_schema.user_privileges;
+--------------------+---------------+-------------------------+--------------+
| GRANTEE | TABLE_CATALOG | PRIVILEGE_TYPE | IS_GRANTABLE |
+--------------------+---------------+-------------------------+--------------+
| 'root'@'localhost' | NULL | SELECT | YES |
| 'root'@'localhost' | NULL | INSERT | YES |
| 'root'@'localhost' | NULL | UPDATE | YES |
| 'root'@'localhost' | NULL | DELETE | YES |
| 'root'@'localhost' | NULL | CREATE | YES |
| 'root'@'localhost' | NULL | DROP | YES |
| 'root'@'localhost' | NULL | RELOAD | YES |
| 'root'@'localhost' | NULL | SHUTDOWN | YES |
| 'root'@'localhost' | NULL | PROCESS | YES |
| 'root'@'localhost' | NULL | FILE | YES |
| 'root'@'localhost' | NULL | REFERENCES | YES |
| 'root'@'localhost' | NULL | INDEX | YES |
| 'root'@'localhost' | NULL | ALTER | YES |
| 'root'@'localhost' | NULL | SHOW DATABASES | YES |
| 'root'@'localhost' | NULL | SUPER | YES |
| 'root'@'localhost' | NULL | CREATE TEMPORARY TABLES | YES |
| 'root'@'localhost' | NULL | LOCK TABLES | YES |
| 'root'@'localhost' | NULL | EXECUTE | YES |
| 'root'@'localhost' | NULL | REPLICATION SLAVE | YES |
| 'root'@'localhost' | NULL | REPLICATION CLIENT | YES |
此处省略一万字............
7、对my.cnf中的配置进行设置(文件一般在/etc/my.cnf)
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
security risks
symbolic-links=
max_connections =
default-character-set=utf8
max_allowed_packet = 16M
skip-name-resolve
event_scheduler = on
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
| datadir | 数据库的默认安装,默认使用即可,特殊要求可以进行修改安装目录 |
| socket | 用通信连接实现数据交互的文件 |
| symbolic-links | 使用Symbolic Links以支持数据分区存储 |
| max_connections=1000 | 最大的连接数 |
| max_connect_errors=10000 | 如果某个用户发起的连接error超过该数值,则该用户的下次连接将被阻塞,直到管理员执行flush hosts ; 命令;防止黑客 |
| back_log=50 | 接受队列,对于没建立tcp连接的请求队列放入缓存中,队列大小为back_log,受限制与OS参数 |
| default-character-set=utf8 | 编码格式 |
| max_allowed_packet | 限制server接受的数据包大小 |
| skip-name-resolve | 禁止域名解析 |
| event_scheduler = on | 启用mysql的事务(off 关闭) |
8、重启mysql服务
/etc/init.d/mysqld restart
9、注意事项
新设置用户或更改密码后需用flush privileges;刷新MySQL的系统权限相关表,否则会出现拒绝访问
进行访问IP授权后的操作无效需要使用flush privileges; 命令刷新权限使其生效
linux进入mysql使用mysql -u root –p 然后输入登录的密码即可,登录后的命令输入记得带上分号 ;表示一串完整的命令输入完整
linux使用yum的方式安装mysql实践的更多相关文章
- CentOS 6.5通过yum的方式安装MySql
一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...
- Linux下基于源代码方式安装MySQL 5.6
MySQL为开源数据库,因此能够基于源代码实现安装.基于源代码安装有很多其它的灵活性. 也就是说我们能够针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码.依据不同的软件平台环境调整相关的编译 ...
- Linux上通过docker方式安装mysql
centos版本信息: docker版本信息 mysql版本:5.7 1.docker方式安装 首先拉取mysql镜像:docker pull mysql:5.7 查看本地的mysql镜像 执 ...
- Linux下通用二进制方式安装MySQL
1.下载glibc版本的MySQL: https://downloads.mysql.com/archives/community/ 2.查看mysql用户和mysql组是否存在(用户和组的信息存在/ ...
- Linux下用rpm方式安装MySQL
1.MySQL下载地址. www.mysql.com/downloads/mysql-4.0.html 下载MySQL 5.1版本的2个包(根据你的实际需求下载所需要的包): MySQL-server ...
- centos 7 yum方式安装MySQL 5.6
本文根据mysql的官方文档操作:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 由于Centos7 默认数据库是mariabd(网上 ...
- 基于yum的方式安装Cloudera Manager Agent(使用Mysql 8.0版本)
基于yum的方式安装Cloudera Manager Agent(使用Mysql 8.0版本) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择CDH版本 1>.确认 ...
- 基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本)
基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装和配置元数据库 1>. ...
- CentOS 6.5 RPM包方式安装 Mysql 5.6
1. 下载MySQL 5.6 下载页面:http://dev.mysql.com/downloads/mysql/此处选择“Red Hat Enterprise Linux 6 / Oracle Li ...
随机推荐
- 51nod 1103 N的倍数 思路:抽屉原理+前缀和
题目: 这是一道很神奇的题目,做法非常巧妙.巧妙在题目要求n个数字,而且正好要求和为n的倍数. 思路:用sum[i]表示前i个数字的和%n.得到sum[ 1-N ]共N个数字. N个数字对N取模,每个 ...
- SpringMVC学习笔记(二)
一.导航 复杂类型的参数绑定 校验 异常处理 图片上传 json交互 拦截器 二.复杂类型参数绑定 ①.包装类型的pojo参数绑定 使用场景:实现商品查询条件传入. 实现方法:>通过添加Http ...
- 实例说明MVC,MVP,MVVM架构
很早就知道有这三个概念,但是一直都不清楚是怎么回事,在网上搜索,都是泛泛而谈,没有具体例子,新手是看不懂的,直到找到这篇文章,我对这三个架构有了更清楚的了解. 从一个简单的例子去研究这三个架构. 注意 ...
- Palindrome poj3974
Palindrome Time Limit: 15000MS Memory Limit: 65536K Total Submissions: 3280 Accepted: 1188 Descr ...
- E. Exposition
E. Exposition time limit per tes ...
- asp.net core封装layui组件示例分享
用什么封装?自然是TagHelper啊,是啥?自己瞅文档去 在学习使用TagHelper的时候,最希望的就是能有个Demo能够让自己作为参考 怎么去封装一个组件? 不同的情况怎么去实现? 有没有更好更 ...
- 手动添加 Git bash 到鼠标右键
由于不知原因,右键没有了Git Bash Here,没有这个右键菜单导致获取Git仓库中的代码很不方便,所以决定通过注册表的方式将这个菜单加出来. 1.win + R,输入"regedit& ...
- PHP CodeBase: 生成N个不重复的随机数
有25幅作品拿去投票,一次投票需要选16幅,单个作品一次投票只能选择一次.前面有个程序员捅了漏子,忘了把投票入库,有200个用户产生的投票序列为空.那么你会如何填补这个漏子? <?php /* ...
- Elixir游戏服设计一
在Erlang游戏服设计总结http://www.cnblogs.com/rubyist/p/5530575.html里, 我提到我想要的游戏服设计方法,希望以应用做为基础构建块.最近我在学习elix ...
- python下selenium测试报告整合
使用过一段时间的Robot Framework测试框架,测试之前需要先搭环境,需要安装的东西很多,这一点个人有些排斥. 每一个测试内容对应一个Test_Case,Robot有自己语法格式,如判断.循环 ...