美文网首页
数据库操作命令

数据库操作命令

作者: 学Linux的小子 | 来源:发表于2019-08-06 18:37 被阅读0次

    1.本地管理员用户密码忘记

    (1) 关闭数据库
    (2) 将数据库启动到无验证模式
    [root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &
    (3) 修改密码
    oldguo[(none)]>flush privileges;
    oldguo[(none)]>alter user root@'localhost' identified by '123456';
    (4)重启数据库为正常模式
    [root@db01 ~]# /etc/init.d/mysqld restart
    (5)测试新密码
    [root@db01 ~]# mysql -uroot -p123456
    

    2. 授权管理生产需求

    (1) 授权一个管理员用户admin ,密码admin,能够通过10网段管理数据库

    oldguo[(none)]>grant all on *.* to admin@'10.0.0.%' identified by 'admin';
    

    (2) 开放一个wordpress应用的用户,密码123,nginx服务器使172.16.1.%网段.
    应用用户需要权限?
    select,insert,update,delete

    grant select,insert,update,delete on wordpress.* to wordpress@'172.16.1.%' identified by '123';
    

    (3) 中小公司,开发人员leader,需要开发用户dev通过10网段对wordpress进行开发和管理

    grant SELECT,INSERT, UPDATE, DELETE,CREATE,ALTER,CREATE VIEW,SHOW VIEW,CREATE ROUTINE, ALTER ROUTINE,EVENT, TRIGGER on  wordpress.* to dev@'10.0.0.%' identified by '123';
    

    3.MySQL连接管理

    3.1 MySQL自带命令

    mysql
    -u
    -p
    -h
    -p
    -S
    -e
    -V
    <
    --help
    socket:
    mysql -uroot -p123 -S /tmp/mysql.sock
    mysql -uoldliu -p -S /tmp/mysql.sock
    注意:本地登录的用户,需要提前授权localhost相关用户

    TCP/IP

    mysql -u oldliu -p  -h10.0.0.51  -P3306
    

    -P必须和-h同时使用

    4.客户端工具链接

    5.MySQL的初始化配置

    1.预编译 **
    2.初始化配置文件 *****
    3.命令行 ***
    注意:优先级3>2>1

    5.1 初始化文件读取顺序

    显示顺序便是读取顺序

    5.2初始化配置文件的作用

    数据库的启动
    客户端的登陆

    5.3 初始化配置文件格式

    [标签1]
    xxxx=yyyy
    [标签2]
    xxxx=yyyy
    [标签3]
    xxxx=yyyy
    标签 :
    服务端
        [mysqld]
        [mysqld_safe]
        [server]
    客户端
        [mysql]
        [mysqldump]
        [mysqladmin]
        [client]
    

    5.4 配置文件模板

    [mysqld]
    user=mysql(名称)
    server_id=6(大于0的数,主从复制会用到)
    port=3306(端口号)
    basedir=/application/mysql(存放软件的位置)
    datadir=/data/3306/data(存放数据的位置)
    log_error=/data/3306/data/3306.log(存放日志的位置)
    socket=/data/3306/mysql.sock(启动时候的会用)
    [mysql]
     socket=/data/3306/mysql.sock
    

    5.5MySQL的多实例管理

    #####5.5.1 准备多个目录
    mkdir -p /data/330{7,8,9}/data
    #####5.5.2准备配置文件
    cat > /data/3307/my.cnf <<EOF
    [mysqld]
    basedir=/application/mysql
    datadir=/data/3307/data
    socket=/data/3307/mysql.sock
    log_error=/data/3307/mysql.log
    port=3307
    server_id=7
    log_bin=/data/3307/mysql-bin
    EOF
    
    cat > /data/3308/my.cnf <<EOF
    [mysqld]
    basedir=/application/mysql
    datadir=/data/3308/data
    socket=/data/3308/mysql.sock
    log_error=/data/3308/mysql.log
    port=3308
    server_id=8
    log_bin=/data/3308/mysql-bin
    EOF
    
    cat > /data/3309/my.cnf <<EOF
    [mysqld]
    basedir=/application/mysql
    datadir=/data/3309/data
    socket=/data/3309/mysql.sock
    log_error=/data/3309/mysql.log
    port=3309
    server_id=9
    log_bin=/data/3309/mysql-bin
    EOF
    #####5.5.3 初始化三套数据
    mv /etc/my.cnf /etc/my.cnf.bak
    mysqld --initialize-insecure  --user=mysql --datadir=/data/3307/data --basedir=/application/mysql
    mysqld --initialize-insecure  --user=mysql --datadir=/data/3308/data --basedir=/application/mysql
    mysqld --initialize-insecure  --user=mysql --datadir=/data/3309/data --basedir=/application/mysql
    #####5.5.4 systemd管理多实例
    cd /etc/systemd/system
    cp mysqld.service mysqld3307.service
    cp mysqld.service mysqld3308.service
    cp mysqld.service mysqld3309.service
    
    vim mysqld3307.service
    ExecStart=/application/mysql/bin/mysqld  --defaults-file=/data/3307/my.cnf
    vim mysqld3308.service
    ExecStart=/application/mysql/bin/mysqld  --defaults-file=/data/3308/my.cnf
    vim mysqld3309.service
    ExecStart=/application/mysql/bin/mysqld  --defaults-file=/data/3309/my.cnf
    #####5.5.5 授权
    chown -R mysql.mysql /data/*
    #####5.5.6 启动
    systemctl start mysqld3307.service
    systemctl start mysqld3308.service
    systemctl start mysqld3309.service
    #####5.5.7 验证多实例
    netstat -lnp|grep 330
    mysql -S /data/3307/mysql.sock -e "select @@server_id"
    mysql -S /data/3308/mysql.sock -e "select @@server_id"
    mysql -S /data/3309/mysql.sock -e "select @@server_id"
    

    相关文章

      网友评论

          本文标题:数据库操作命令

          本文链接:https://www.haomeiwen.com/subject/bqhwdctx.html