设为首页 收藏本站
查看: 1189|回复: 0

[经验分享] linux使用yum的方式安装mysql实践

[复制链接]

尚未签到

发表于 2017-11-18 06:30:06 | 显示全部楼层 |阅读模式
  1、先检测是否已安装mysql
  ps -ef|grep mysql



root      4943     1  0 16:11 pts/2    00:00:00 /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     5060  4943  0 16:11 pts/2    00:00:00 /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      5250  3079  0 16:32 pts/2    00:00:00 mysql -u root -p
root      5289  5271  0 16:54 pts/1    00:00:00 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, 0 rows affected (0.00 sec)
  如果不需要进行全部授权如何删除授权呢?删除不对连接的ip做限制的授权root@'%' 。



mysql> drop user root@'%';
Query OK, 0 rows affected (0.00 sec)
  这里的%表示刚刚授权的对象,%表示所有的,如果需要删除某个授权,就将%替换为授权时填写的IP



mysql> drop user root@'192.168.1.4';
Query OK, 0 rows affected (0.00 sec)
  如果没有进行授权,链接将会出现错误,这里我拿的是Navicat Premium工具做的测试。
DSC0000.jpg

  罗列已经授权的用户列表信息  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=0
max_connections = 1000
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 然后输入登录的密码即可,登录后的命令输入记得带上分号 ;表示一串完整的命令输入完整

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-408095-1-1.html 上篇帖子: Linux 定制X86平台操作系统 下篇帖子: Opencv3.3(Linux)编译安装至python的坑
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表