国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

Mysql數(shù)據(jù)庫應(yīng)用常見的問題有哪些

2024-07-24 12:33:45
字體:
供稿:網(wǎng)友
  這篇文章主要介紹“Mysql數(shù)據(jù)庫應(yīng)用常見的問題有哪些”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“Mysql數(shù)據(jù)庫應(yīng)用常見的問題有哪些”文章能幫助大家解決問題。
  
  一、安裝mysql
  1、CentOS系統(tǒng)
  1.)安裝mysql
 
  下載并安裝mysql的repo源
  $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
  安裝mysql
  $ sudo yum install -y mysql-server
  2.)啟動(dòng)/重啟/關(guān)閉服務(wù)
 
  service mysqld start | restart | stop
  2、alpine系統(tǒng)
  alpine系統(tǒng)中安裝mysql實(shí)際是開源的MariaDB,MariaDB數(shù)據(jù)庫是MySQL的一個(gè)分支/衍生版,完全兼容MySQL,并在擴(kuò)展功能、存儲(chǔ)引擎以及一些新的功能改進(jìn)方面都強(qiáng)過MySQL,安裝參考
  $ apk update
 
  # 安裝數(shù)據(jù)庫及客戶端
  $ apk add mysql mysql-client
 
  # 初始化數(shù)據(jù)庫
  $ mysql_install_db --user=mysql --datadir=/var/lib/mysql
 
  # 啟動(dòng)服務(wù)
  $ rc-service mariadb start  # 若沒有rc,安裝:apk add openrc
 
  # 修改密碼
  $ mysqladmin -u root password '新root密碼'
 
  # 加入開機(jī)啟動(dòng)
  $ rc-update add mariadb default
  二、操作mysql
  1、登錄數(shù)據(jù)庫
  默認(rèn)初始化直接登錄
  $ mysql
  若提示失敗,說明有密碼,運(yùn)行:
  $ mysql -uroot -p
 
  # 一次性登錄
  $ mysql -u用戶 -p密碼
  2、操作數(shù)據(jù)庫
  # 查看所有數(shù)據(jù)庫
  mysql> show databases;
 
  # 創(chuàng)建數(shù)據(jù)庫
  mysql> create database xxx charset=utf8;
 
  # 刪除數(shù)據(jù)庫
  mysql> drop database xxx;
 
  # 切換數(shù)據(jù)庫
  mysql> use mysql;
 
  # 查看表
  mysql> show tables;
 
  # 創(chuàng)建表
  mysql> create table xxx (
      id int,
      name varchar(20),
      update_time datetime
  );
 
  # 刪除表
  mysql> drop table xxx;
 
  # 顯示表結(jié)構(gòu)
  mysql> desc xxx;
 
  # 查詢指定a,b字段的記錄,不知道用*代替
  mysql> select a,b form xxx;
 
  # 插入記錄
  mysql> insert into xxx(id,user) values(1,'wang',now());
 
  # 刪除記錄
  mysql> delete from xxx where name='wang';
 
  # 清屏命令
  mysql> system clear;
 
  # 退出
  mysql> quit;
  3、用戶管理
  mysql的user表用來存儲(chǔ)所有用戶權(quán)限,其中host字段表示指定ip用戶能使用,同名不同host的為兩個(gè)用戶,host常見值如下:
 
  localhost:只能服務(wù)器端上使用  
  192.168.4.%:指定ip段能用  
  %:通配符,表示所有ip用戶都能用,多用于遠(yuǎn)程連接
  下面新建/刪除用戶操作時(shí),可通過user@'host'指定,若不指定默認(rèn)為%
 
  # 切換到mysql權(quán)限數(shù)據(jù)庫
  mysql> use mysql;
 
  # 查看用戶及所屬的host
  mysql> select user,host from user;
 
  # 新建用戶并設(shè)置密碼
  mysql> create user '用戶名' identified by '密碼';
 
  # 上面不指定host,默認(rèn)%,等同于:
  mysql> create user '用戶名'@'%' identified by '密碼';
 
  # 刪除用戶(只刪除host為%的用戶)
  mysql> drop user '用戶名';
 
  # 查看用戶權(quán)限
  mysql> show grants for '用戶名';
 
  # 設(shè)置權(quán)限,并指定數(shù)據(jù)庫
  mysql> grant all privileges on xxxDB.* to '用戶名';
 
  # 修改密碼,注意密碼處不能直接password='新密碼'
  mysql> update user set password=password('新密碼') where user='用戶名';
 
  # 刷新權(quán)限表
  mysql> flush privileges;
  4、批量操作
  1.)sql腳本批量執(zhí)行
 
  $ mysql -uroot -p -Dxxx < ./init.sql    # xxx為數(shù)據(jù)庫
  2.)備份/恢復(fù)數(shù)據(jù)庫
 
  $ mysqldump --all-databases -h227.0.0.1 -u root -p > ./backup/mysql-bak.sql
  $ mysqldump --all-databases -h227.0.0.1 -u root -p < ./backup/mysql-bak.sql
  三、常見問題
  1、root密碼忘記怎么擦除?
  $ mysql –skip-grant-table &
    mysql> use mysql;
    mysql> update user set password=password('新密碼') where user='root';
    mysql> flush privileges;
    mysql> quit;
  這里需要注意的是每句命令需要用分號(hào)“;”結(jié)尾,執(zhí)行完以上得操作,root的密碼就被清空。
  2、空用戶錯(cuò)誤
  ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'錯(cuò)誤:
 
  原因:
 
  mysql數(shù)據(jù)庫的user表里,存在用戶名為空的賬戶即匿名賬戶,導(dǎo)致登錄的時(shí)候雖然用的是root,但實(shí)際是匿名登錄的。
  處理方案:
 
  # 1.關(guān)閉mysql
  $ service mysqld stop
 
  # 2.屏蔽權(quán)限
  $ mysqld_safe --skip-grant-table # 屏幕出現(xiàn): Starting demo from .....
 
  # 3.新開起一個(gè)終端輸入
  $ mysql -uroot mysql
    mysql> update user set password=password('新密碼') where user='root';
    mysql> flush privileges;
    mysql> quit;
  3、服務(wù)上root能用,遠(yuǎn)程不能登錄
  $ mysql -uroot -p
    mysql> use mysql;
    
    # 先查看user表host字段,有無通配符'%',若有直接運(yùn)行flush privileges;
    mysql> select host from user where user='root';  
    mysql> grant all privileges *.* to 'root'@'%' identified by 'root密碼';
    mysql> flush privileges;
    mysql> quit;
  4、遠(yuǎn)程連接提示caching_sha2_password錯(cuò)誤
  從mysql5.7版本之后,默認(rèn)采用了caching_sha2_password驗(yàn)證方式
  mysql> use mysql;
  mysql> alter user 'root'@'%' identified with mysql_native_password by 'root密碼';
  5、mysql修改默認(rèn)數(shù)據(jù)存放
  $ mysqladmin -u root -p variables | grep datadir  # 查看mysql數(shù)據(jù)庫存放目錄
  $ service mysqld stop
  $ mv /var/lib/mysql /路徑  # 移動(dòng)數(shù)據(jù)庫文件
 
  $ vi /etc/my.cnf
 
  # 修改datadir和socket兩個(gè)字段,并添加以下:
  [mysql]
  socket=/路徑/mysql.sock
 
  $ service mysqld start
  關(guān)于“Mysql數(shù)據(jù)庫應(yīng)用常見的問題有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。

(編輯:武林網(wǎng))

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄梅县| 信阳市| 罗源县| 澜沧| 屏山县| 南皮县| 林周县| 会昌县| 上林县| 禹州市| 休宁县| 洞口县| 沛县| 武冈市| 曲沃县| 淮阳县| 鸡西市| 萨迦县| 沈丘县| 徐水县| 兰坪| 山丹县| 阿荣旗| 内黄县| 桐梓县| 陈巴尔虎旗| 桂平市| 东港市| 景东| 苍梧县| 临江市| 临澧县| 黄梅县| 肃北| 府谷县| 朔州市| 浦县| 昌江| 泰来县| 成都市| 建湖县|