Solaris10下mysql的pkg安裝方法
1從dev.mysql.com網(wǎng)站下載安裝文件mysql-5.1.11-beta-solaris10-sparc-64bit.pkg.gz保存到/tmp
2解壓縮gz格式安裝文件gunzip mysql-5.1.11-beta-solaris10-sparc-64bit.pkg.gz
3建立mysql用戶組和用戶,并為用戶指定home目錄
groupadd mysql
useradd -g mysql mysql
mkdir /export/home/mysql
chgrp mysql /export/home/mysql
chown mysql /export/home/mysql
usermod -d /export/home/mysql mysql
可以用su - mysql驗證mysql能否登錄
4安裝pkg
pkgadd -d mysql-5.1.11-beta-solaris10-sparc-64bit.pkg
MySQL被安裝到/opt/mysql/mysql/
5安裝后的任務(wù)
建立目錄連接
cd /usr/local
ln -s /opt/mysql/mysql/ mysql
建立配置文件
vi /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
6初始化MySQL
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
7啟動MySQL服務(wù)器
切換到mysql用戶
/usr/local/mysql/bin/mysqld-max &
或者
/usr/local/mysql/bin/mysqld-max --user=mysql&
root用戶不能直接啟動MySQL服務(wù)器
8關(guān)閉服務(wù)器
mysqladmin -u root shutdown
9卸載MySQL
root用戶執(zhí)行
pkgrm mysql
從二進制分發(fā)包安裝mysql比從源代碼安裝還是簡單
但是MySQL的安裝手冊里沒有給出各種錯誤的解決辦法
比如:我曾經(jīng)遇到的
/opt/mysql/mysql/bin/mysqld-max: Table 'mysql.general_log' doesn't exist
060716 10:50:16 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
就是因為沒有建立配置文件 /etc/my.cnf
而且pkg包自動為MySQL相關(guān)目錄建立權(quán)限,不需要像安裝手冊說的手工做。
順帶記錄一下在MySQL配置過程中可能會用到的重要東西:
通過直接修改授權(quán)表設(shè)置用戶權(quán)限:
shell> mysql --user=root mysql
mysql> INSERT INTO user (Host,User,Password)VALUES('localhost','custom',PASSWORD('stupid'));
mysql> INSERT INTO user (Host,User,Password)VALUES('server.domain','custom',PASSWORD('stupid'));
mysql> INSERT INTO user (Host,User,Password)VALUES('whitehouse.gov','custom',PASSWORD('stupid'));
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv)
VALUES ('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv)
VALUES('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO db(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv)
VALUES('%','customer','custom','Y','Y','Y','Y','Y','Y');
mysql> FLUSH PRIVILEGES;
默認情況下mysql是不能遠程連接的,需要修改權(quán)限設(shè)置:
兩種方法:
在命令行下,可以有兩種大同小異的方法來作此設(shè)置:
(1)mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;
第一句增加了一個root用戶授權(quán)通過本地機(localhost)訪問,密碼“something”。
第二句則是使用通配符,授與root用戶從任何其它主機發(fā)起的訪問。
(2)亦可直接使用update語句修改user表:使用root用戶或其他用戶登錄mysql,轉(zhuǎn)到mysql數(shù)據(jù)庫
update user set host='localhost' where user='root';
flush privileges;//只允許root在本機登錄
update user set host='%' where user='root';
flush privileges;//允許root遠程訪問
在4.1以上版本的MySQL中的密碼的哈希算法有了變化,可能會導(dǎo)致一些使用老協(xié)議的客戶端連接失敗,提示錯誤信息:1251 Client does not support authentication protocol requested by server; consider upgrading MySQL client。 這是相應(yīng)的處理方法:
mysql> UPDATE mysql.user SET password = OLD_PASSWORD('yourpwd') WHERE host = 'yourhost' AND user='username';
mysql> FLUSH PRIVILEGES;
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。