●安裝mysql
# tar zxvf mysql-4.0.14.tar.gz -C /setup
# cd /setup/mysql-4.0.14
# groupadd mysql
# useradd mysql -g mysql -M -s /bin/false
# ./configure --prefix=/usr/local/mysql / 指定安裝目錄
--prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=all /添加gb2312中文字符支持 (一定要指定編碼否則可能做其他操作會出問提,把默認編碼置爲gbk,同時支持其他的編碼)
--without-debug /去除debug模式
--enable-assembler /使用一些字符函數的彙編版本
--without-isam /去掉isam表類型支持 現在很少用了 isam表是一種依賴平臺的表
--without-innodb /去掉innodb表支持 innodb是一種支持事務處理的表,適合企業級應用
--with-pthread /強制使用pthread庫(posix線程庫)
--enable-thread-safe-client /以線程方式編譯客戶端
--with-client-ldflags=-all-static /
--with-mysqld-ldflags=-all-static /以純靜態方式編譯服務端和客戶端
--with-raid /激活raid支持
# make && make install
# scripts/mysql_install_db /生成mysql用戶數據庫和表文件
# cp support-files/my-medium.cnf /etc/my.cnf /copy配置文件,有large,medium,small三個環境下的,根據機器性能選擇,如果負荷比較大,可修改裏面的一些變量的內存使用值
# cp support-files/mysql.server /etc/init.d/mysqld /copy啓動的mysqld文件
# chmod 700 /etc/init.d/mysqld
# cd /usr/local
# chmod 750 mysql -R
# chgrp mysql mysql -R
# chown mysql mysql/var -R
# cd /usr/local/mysql/libexec
# cp mysqld mysqld.old
# strip mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
# service mysqld start
# netstat -atln 看看有沒有3306的端口打開,如果mysqld不能啓動,看看/usr/local/mysql/var下的出錯日誌,一般都是目錄權限沒有設置好的問題
# ln -s /usr/local/mysql/bin/mysql /sbin/mysql
# ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin
# mysqladmin -uroot password "hurraycces" #設置root帳戶的密碼 # mysql -uroot -p # 輸入你設置的密碼 mysql>;use mysql; mysql>;delete from user where password=""; #刪除用於本機匿名連接的空密碼帳號 mysql>;flush privileges; mysql>;quit
如要要卸載:
將按文件夾刪除,然後去安裝目錄 make clean ,make install clean
安裝完成後,如果要用那個客戶端工具遠程連接數據庫,默認的的root用戶只能是localhost才能連接
解決方法: 1。 改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>flush privileges;
mysql>select host, user from user;
2. 授權法。例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip爲192.168.1.3的主機連接到mysql服務器,並使用mypassword作爲密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION