1. 程式人生 > >CentOS下安裝MySQL,Windows下使用Navicat for MySql連線

CentOS下安裝MySQL,Windows下使用Navicat for MySql連線

安裝

檢視有沒有安裝過:
          yum list installed mysql*
          rpm -qa | grep mysql*
 
檢視有沒有安裝包:
          yum list mysql*
 
安裝mysql客戶端:
          yum install mysql
 
安裝mysql 伺服器端:
          yum install mysql-server
          yum install mysql-devel

啟動&&停止

資料庫字符集設定

          mysql配置檔案/etc/my.cnf中的[mysqld]配置節中加入default-character-set=utf8

有時候配置檔案可能在/usr/my.cnf中,如果還是找不到,使用以下命令查詢:

find -name my.cnf

 方法:vi /etc/my.cnf,通過上下左右鍵移動游標,按字母“i”進入編輯狀態,Shift + Insert 貼上內容(我是通過Xshell操作的),按ESC鍵進入命令模式,輸入“:wq”按回車鍵。


啟動mysql服務:
          service mysqld start或者/etc/init.d/mysqld start
開機啟動:
          chkconfig -add mysqld,檢視開機啟動設定是否成功chkconfig --list | grep mysql*
 
          mysqld             0:關閉    1:關閉    2:啟用    3:啟用    4:啟用    5:啟用    6:關閉
停止:
          service mysqld stop

登入

建立root管理員:
          mysqladmin -u root password 123456
這個沒有執行通過,提示:mysqladmin: Can't turn off logging; error: 'Access denied; you need the SUPER privilege for this operation'
登入:
          mysql -u root -p輸入密碼即可。
忘記密碼:
          service mysqld stop
 
          mysqld_safe --user=root --skip-grant-tables

執行這條語句之後就不能再輸入命令了,

輸出:140616 19:23:09 mysqld_safe Logging to '/var/log/mysqld.log'.
140616 19:23:09 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

之後就停在那裡不動,需要再開終端執行命令;
 
          mysql -u root
 
          use mysql;
 
          update user set password=password(’123456‘) where user=’root‘;
 
          flush privileges;  
 但是執行完這些命令沒能解決Windows下使用Navicat for MySql連線不上的問題;

遠端訪問

開放防火牆的埠號,或關閉防火牆;
mysql增加許可權:mysql庫中的user表新增一條記錄host為“%”,user為“root”。

這個測試也不管用;

Linux MySQL的幾個重要目錄

資料庫目錄
         /var/lib/mysql/
配置檔案
         /usr/share /mysql(mysql.server命令及配置檔案)
相關命令
         /usr/bin(mysqladmin mysqldump等命令)
啟動指令碼
         /etc/rc.d/init.d/(啟動指令碼檔案mysql的目錄)

Windows下使用Navicat for MySql連線


錯誤:1130 host is not allowed to connect to this mysql server

解決方法:

1。 改表法。

可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"

mysql -u root -pvmwaremysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

2. 授權法。

例如,你想myuser使用mypassword從任何主機連線到mysql伺服器的話。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

這個測試通過,不過記得修改語句中的“myuser”和“mypassword”,我就是拿過來直接就執行了,結果搞了半天才發現。

如果你想允許使用者myuser從ip為192.168.1.6的主機連線到mysql伺服器,並使用mypassword作為密碼

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

如果你想允許使用者myuser從ip為192.168.1.6的主機連線到mysql伺服器的dk資料庫,並使用mypassword作為密碼

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

在安裝mysql的機器上執行:

1、d:\mysql\bin\>mysql   -h   localhost   -u   root //這樣應該可以進入MySQL伺服器

2、mysql>GRANT   ALL   PRIVILEGES   ON   *.*   TO   'root'@'%'   WITH   GRANT   OPTION //賦予任何主機訪問資料的許可權

3、mysql>FLUSH   PRIVILEGES //修改生效

4、mysql>EXIT //退出MySQL伺服器

這樣就可以在其它任何的主機上以root身份登入啦!