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身份登入啦!