linux下安裝mysql

●安裝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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章