• linux使用yum的方式安装mysql实践


    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工具做的测试。

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

  • 相关阅读:
    Hive-拉链表
    JAVA-POI
    GreenPlum-数据存储目录迁移及常用操作
    CDH6 高版本hbase+solr实现二级索引
    GreenPlum执行gpfdist报错:libssl.so.1.0.0: cannot open shared object file: No such file or directory
    rasdaman介绍及安装
    博学谷-数据分析pandas
    博学谷-数据分析numpy
    博学谷-数据分析matplotlib
    python基础学习笔记
  • 原文地址:https://www.cnblogs.com/david97/p/7815487.html
Copyright © 2020-2023  润新知