mysql创建用户、授权、修改密码

  1. linux系统下登录mysql

    mysql -hip -uusername -ppassword;
    
  2. 创建用户

    CREATE USER username IDENTIFIED BY 'password';
    
  3. 授权

    GRANT ALL PRIVILEGES ON *.* TO 'username'@'ip' IDENTIFIED BY 'password';
    全部授权
    GRANT EXECUTE, PROCESS, SELECT, SHOW DATABASES, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TABLESPACE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, CREATE USER, FILE, LOCK TABLES, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN, SUPER  ON *.* TO 'username'@'访问ip' WITH GRANT OPTION;
    
  4. 查看所有用户
    SELECT user, host, authentication_string FROM mysql.user;

  5. 修改用户访问授权
    RENAME USER ‘user’@’%’ TO ‘user’@‘10.121.%’;

  6. 修改密码
    1.已知原密码

     登录mysql系统
     
     [root@5bso1 ~]# mysql -hlocalhost -uroot -proot
     mysql> use mysql
     mysql> update user set password=password("test") where user="root";
     mysql> flush privileges;
     mysql> exit
    

    2.忘记原来的myql的root的密码
    首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。
    /etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
    mysqld_safe --skip-grant-tables 表示在后台运行,不再后台运行的话,就再打开一个终端咯。
    mysql

      mysql> use mysql;
      mysql> UPDATE user SET password=password("test") WHERE user='root';   
      mysql> flush privileges;
      mysql> exit;                         
    

    本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。

  7. 复制表

    1.复制表结构及数据到新表

    CREATE TABLE 新表  SELECT * FROM 旧表
    

    2.只复制表结构到新表

    CREATE TABLE 新表  SELECT * FROM 旧表 WHERE 1=2 (mysql5以上支持where)
    或者
    CREATE TABLE 新表 LIKE 旧表
    

    3.复制旧表的数据到新表(假设两个表结构一样)

    INSERT INTO 新表 SELECT * FROM 旧表
    

    4.复制旧表的数据到新表(假设两个表结构不一样)

    INSERT INTO 新表(字段1,字段2,…….)  SELECT 字段1,字段2,…… FROM 旧表
    
  8. 导出表数据

    1.单表 mysql的bin目录下,利用mysqldump 导出整表数据

    格式:mysqldump -hip -uusername -ppassword schemaname tablename --where " 条件 ">存储路径\xxx.sql
    例如:mysqldump -uroot -proot seo seoanswer --where=" id <=200 and id>100" > D:\1.sql
    

    2.导出指定表字段

    命令登录mysql
    登录格式:mysql -hip -uusername -ppassword;
    导出格式:mysql -uroot -e "select 字段 from 表名 limit 200001,300000 INTO OUTFILE '输出目录'"
    例如:mysql -uroot -e "select URLADDRESS from seo.appanswerlist_urladdress limit 200001,400000 INTO OUTFILE 'D://soft//mysql//mysql-5.7.23-winx64//123.sql'"
    

    如果出现下图说明导出文件必须在指定目录下如果出现上图说明,文件必须导出到指定目录下
    可以用show vairables like '%secure%'查看目录位置
    在这里插入图片描述
    secure_file_priv 为空,可以通过修改my.ini 在文件最后一行添加“secure_file_priv = 指定目录” 保存即可。重启mysql服务

猜你喜欢

转载自blog.csdn.net/weixin_41235296/article/details/83894930