mysql常用运维命令及权限管理

1. /etc/init.d/mysqld start和mysql_safe --user=mysql &的启动实质是一样的
2. /etc/init.d/mysqld stop
   一般不用的停止数据库的方法
     killall mysqld
     pkill mysqld
     killall -9 mysqld
     kill pid
   优雅关闭数据库
    第一种
    mysqladmin -uroot -poldboy123 shutdown
    第二种
    /etc/init.d/mysqld stop
    第三种kill信号的方法
    kill -usr2 `cat path/pid`

3.mysql登录
    mysql  刚装完系统无密码情况登录方式
    mysql -uroot 刚装完系统无密码情况登录方式 不要密码
    mysql -uroot -p 这是标准的dba命令行登录命令

    登录提示符修改  prompt \u@oldboy \r:\m:\s->
4.多实例登录
    mysql -uroot -proot123 -S /data/3306/mysql.sock

   远程登录不需要sock
    mysql -uroot -p -h 127.0.0.1 -P3307

5.mysql安全策略介绍
    设置root账号密码
    删除无用的mysql库内的用户账号
    删除默认存在的test数据库
    极端做法可以删除root账号,新建一个超级账号代替root账号
      delete from mysql.user;
      grant all privileges on *.* to system@'localhost' identified by system with grant option
    为管理员账号设置密码,多实例指定sock
      mysqladmin -uroot password 'root123'
      mysqladmin -uroot password 'root123' -S /u01/data/3306/mysql.sock
    单实例修改密码
      mysqladmin -uroot -proot123 password 'root123'
      mysqladmin -uroot -proot123 password 'root123' -S /u01/data/3306/mysq.sock
    第二种修改用户密码方法
      set password=password('root123')

    修改完密码要刷新
       flush privileges

6.找回mysql丢失的密码
     首先停止数据库  
        /etc/init.d/mysqld stop
     使用skip-grant-tables选项启动数据库
        mysqld_safe --skip-grant-tables --user=mysql &
     使用mysql 无密码登录mysql数据库
        update mysql.user set password=password('root123')  where user='root123' and host='localhost'
        flush privileges;
     使用mysqladmin 关闭数据库
        mysqladmin -uroot -proot123 shutdown
     重启mysql数据库
        /etc/init.d/mysqld start
     登录客户端
        mysql -uroot -p

7.多实例mysql丢失密码找回
     首先停止数据库
       /u01/data/3306/mysql stop
     使用skip-grant-tables选项启动数据库
       mysqld_safe --default-file=/u01/data/3306/my.cnf --skip-grant-tables &
       /u01/data/3306/mysql -S /u01/data/3306/mysql.sock
       update mysql.user set password=password('root123')  where user='root123' and host='localhost'
       flush privileges
     使用mysqladmin关闭数据库
       mysqladmin -uroot -proot123 shutdown -S /etc/data/3306/mysql.sock
     重启mysql数据库
       /u01/data/3306/mysql start
     登录客户端
       mysql -uroot -p -S /u01/data/mysql.sock
8.mysql数据库常见管理应用
     创建数据库
       create database shang;
     显示数据库
       show databases;
     查看建库语句
       show create database shang \G
     带有字符集的建库语句
       create database shang default character set gbk collate gbk_chinese_ci;
       create database shang default character set utf8 collate utf8_gereral_ci;
     查看当前的数据库、用户、时间
       select database()
       select user();
       select now();
       select version()
     查看表
       show tables;
     删除多余账号
       drop user ''@'localhost'
     创建用户及赋予用户权限
      例子 创建oldboy用户,对test库具备所有权限,允许从localhost主机登录管理数据库,密码是oldboy123
        grant all privileges on test.* to test@localhost identified by 'oldboy123'

        create user oldboy@localhost identified by 'oldboy123'
        grant all privileges on test.* to test@localhost

     查看用户权限
        show grants for 'user'@'机器ip'
     允许远程连接数据库的授权(允许test用户从10.10.01.*局域网主机上连接数据库,连接密码是test123)
        grant all privileges on *.* to test@'10.10.10.%' identified by 'test123'
        远程连接语句 接机器ip地址
        msyql -utest -ptest -h 10.10.22.155

     查看mysql可以授权的权限
 9.mysql有哪些权限

 SELECT
 insert
 UPDATE
 DELETE
 CREATE
 DROP
 REFERENCES
 INDEX
 ALTER
 CREATE TEMPORARY TABLES
 LOCK TABLES
 EXECUTE
 CREATE VIEW
 SHOW VIEW
 CREATE ROUTINE
 ALTER ROUTINE
 EVENT
 TRIGGER ON `test`.* TO 'test'@'localhost'

猜你喜欢

转载自blog.csdn.net/u010506876/article/details/82749081
今日推荐