• mysql数据库补充知识1 安装数据库破解数据库密码已经创建用户


    一、安装MYSQL数据库

      1、yum安装

    #二进制rpm包安装
    yum -y install mysql-server mysql

      2、源码安装

     
    1.解压tar包
    cd /software
    tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
    mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21
    
    2.添加用户与组
    groupadd mysql
    useradd -r -g mysql mysql
    chown -R mysql:mysql mysql-5.6.21
    
    3.安装数据库
    su mysql
    cd mysql-5.6.21/scripts
    ./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data
    
    4.配置文件
    cd /software/mysql-5.6.21/support-files
    cp my-default.cnf /etc/my.cnf
    cp mysql.server /etc/init.d/mysql
    vim /etc/init.d/mysql   #若mysql的安装目录是/usr/local/mysql,则可省略此步
    修改文件中的两个变更值
    basedir=/software/mysql-5.6.21
    datadir=/software/mysql-5.6.21/data
    
    5.配置环境变量
    vim /etc/profile
    export MYSQL_HOME="/software/mysql-5.6.21"
    export PATH="$PATH:$MYSQL_HOME/bin"
    source /etc/profile
    
    6.添加自启动服务
    chkconfig --add mysql
    chkconfig mysql on
    
    7.启动mysql
    service mysql start
    
    8.登录mysql及改密码与配置远程访问
    mysqladmin -u root password 'your_password'     #修改root用户密码
    mysql -u root -p     #登录mysql,需要输入密码
    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;     #允许root用户远程访问
    mysql>FLUSH PRIVILEGES;     #刷新权限
    
    
    

    二、mysql软件的基本管理

      1、启动查看

    [root@egon ~]# systemctl start mariadb #启动
    [root@egon ~]# systemctl enable mariadb #设置开机自启动
    Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
    [root@egon ~]# ps aux |grep mysqld |grep -v grep #查看进程,mysqld_safe为启动mysql的脚本文件,内部调用mysqld命令
    mysql     3329  0.0  0.0 113252  1592 ?        Ss   16:19   0:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
    mysql     3488  0.0  2.3 839276 90380 ?        Sl   16:19   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
    [root@egon ~]# netstat -an |grep 3306 #查看端口
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN  
    [root@egon ~]# ll -d /var/lib/mysql #权限不对,启动不成功,注意user和group
    drwxr-xr-x 5 mysql mysql 4096 Jul 20 16:28 /var/lib/mysql

    注释:
    安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个
    mac mysql error You must reset your password using ALTER USER statement before executing this statement.
    解决方法:
    step 1: SET PASSWORD = PASSWORD('your new password');
    step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
    step 3: flush privileges;

     

      2. 登录,设置密码

    复制代码
    初始状态下,管理员root,密码为空,默认只允许从本机登录localhost
    设置密码
    [root@egon ~]# mysqladmin -uroot password "123"        设置初始密码 由于原密码为空,因此-p可以不用
    [root@egon ~]# mysqladmin -uroot -p"123" password "456"        修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码
    
    命令格式:
    [root@egon ~]# mysql -h172.31.0.2 -uroot -p456
    [root@egon ~]# mysql -uroot -p
    [root@egon ~]# mysql                    以root用户登录本机,密码为空
    复制代码

      3. 忘记密码

        方法一:删除授权库mysql,重新初始化

    [root@egon ~]# rm -rf /var/lib/mysql/mysql #所有授权信息全部丢失!!!
    [root@egon ~]# systemctl restart mariadb
    [root@egon ~]# mysql

        方法二:启动时,跳过授权库

    [root@egon ~]# vim /etc/my.cnf    #mysql主配置文件
    [mysqld]
    skip-grant-table
    [root@egon ~]# systemctl restart mariadb
    [root@egon ~]# mysql
    MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost";
    MariaDB [(none)]> flush privileges;
    MariaDB [(none)]> q
    [root@egon ~]# #打开/etc/my.cnf去掉skip-grant-table,然后重启
    [root@egon ~]# systemctl restart mariadb
    [root@egon ~]# mysql -u root -p123 #以新密码登录
    
       4、mysql配置文件
    #在mysql的解压目录下,新建my.ini,然后配置
    #1. 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效
    [mysqld]
    ;skip-grant-tables
    port=3306
    character_set_server=utf8
    default-storage-engine=innodb
    innodb_file_per_table=1
    
    #解压的目录
    basedir=E:mysql-5.7.19-winx64
    #data目录
    datadir=E:my_data #在mysqld --initialize时,就会将初始数据存入此处指定的目录,在初始化之后,启动mysql时,就会去这个目录里找数据
    
    #2. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效
    [client]
    port=3306
    default-character-set=utf8
    user=root
    password=123
    
    #3. 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置
    [mysql]
    ;port=3306
    ;default-character-set=utf8
    user=egon
    password=4573
    
    #!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准
    
       5、用户授权
    #创建用户
    create user 'egon'@'1.1.1.1' identified by '123';
    create user 'egon'@'192.168.1.%' identified by '123';
    create user 'egon'@'%' identified by '123';
    
    
    #授权:对文件夹,对文件,对文件某一字段的权限
    查看帮助:help grant
    常用权限有:select,update,alter,delete
    all可以代表除了grant之外的所有权限
    
    #针对所有库的授权:*.*
    grant select on *.* to 'egon1'@'localhost' identified by '123'; #只在user表中可以查到egon1用户的select权限被设置为Y
    
    #针对某一数据库:db1.*
    grant select on db1.* to 'egon2'@'%' identified by '123'; #只在db表中可以查到egon2用户的select权限被设置为Y
    
    #针对某一个表:db1.t1
    grant select on db1.t1 to 'egon3'@'%' identified by '123';  #只在tables_priv表中可以查到egon3用户的select权限
    
    #针对某一个字段:
    mysql> select * from t3;
    
    grant select (id,name),update (age) on db1.t3 to 'egon4'@'localhost' identified by '123'; 
    #可以在tables_priv和columns_priv中看到相应的权限
    mysql> select * from tables_priv where user='egon4'G
    
    #删除权限
    revoke select on db1.* to 'alex'@'%';
    
     
    
    
  • 相关阅读:
    lua中的冒号和点
    NuGet使用简要说明
    C#浅谈类实体与DataTable执行效率
    win8 使用技巧
    Bitnami Redmine 中文附件名 报错修复
    Markdown 测试
    几种常用网页返回顶部代码
    文字超出隐藏并显示省略号
    手机正则写法
    安卓内存管理相关关键字
  • 原文地址:https://www.cnblogs.com/xuanan/p/7816856.html
Copyright © 2020-2023  润新知