1. 程式人生 > >mysql建立使用者、授權、修改密碼

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系統
     
     [[email protected] ~]# 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服務