標籤:
思路:卸載redhat內建yum,然後下載centos的yum,安裝後修改設定檔
1、首先到http://mirrors.163.com/centos下載軟體包
x86 地址:http://mirrors.163.com/centos/6/os/i386/Packages/
x86_64 地址:http://mirrors.163.com/centos/6/os/x86_64/Packages/
必要下載的軟體包有(以64位系統為例):
a python-iniparse-0.3.1-2.1.el6.noarch.rpm
b yum-3.2.29-40.el6.centos.noarch.rpm
c yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
d yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
下載命令:
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-40.el6.centos.noarch.rpm wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm |
[注] :版本不一定要最新的,如果出現404找不到檔案,可以通過http://mirrors.163.com/centos/6/os/x86_64/Packages/查看版本號碼,並進行微調
2、卸載RedHat內建的yum
rpm -qa | grep yum | xargs rpm -e --nodeps
註:a、xargs是一條Unix和類Unix作業系統的常用命令。它的作用是將參數列錶轉換成小塊分段傳遞給其他命令,以避免參數列表過長的問題
b、--nodeps 強制卸載,不管依賴性
3、安裝下載的centos的yum包:
rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
[注] :最後2個需要一起安裝,否則會出現依賴性錯誤
4、到http://mirrors.163.com的centos協助文檔中下載CentOS6-Base-163.repo檔案,存放到/etc/yum.repo.d中
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
5、編輯CentOS6-Base-163.repo檔案,將其中的$releasever更改為centos的版本號碼
下面是修改好的:
# CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-6 - Base - 163.com baseurl=http://mirrors.163.com/centos/6/os/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=os gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-6 - Updates - 163.com baseurl=http://mirrors.163.com/centos/6/updates/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=updates gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-6 - Extras - 163.com baseurl=http://mirrors.163.com/centos/6/extras/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=extras gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-6 - Plus - 163.com baseurl=http://mirrors.163.com/centos/6/centosplus/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=centosplus gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 #contrib - packages by Centos Users [contrib] name=CentOS-6 - Contrib - 163.com baseurl=http://mirrors.163.com/centos/6/contrib/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=contrib gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 |
6、yum clean all清除原有緩衝
7、yum makecache 擷取yum列表
出現下面提示,表示yum更改完成:
Metadata Cache Created
8、yum 安裝mysql
安裝MySQL。
[root@sample ~]# yum -y install mysql-server ← 安裝MySQL
[root@sample ~]# yum -y install php-mysql ← 安裝php-mysql
配置MySQL
[root@sample ~]#vim /etc/my.cnf ← 編輯MySQL的設定檔
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1 ← 找到這一行,在這一行的下面添加新的規則,讓MySQL的預設編碼為UTF-8
default-character-set = utf8 ← 添加這一行
然後在設定檔的文尾填加如下語句:
[mysql]
default-character-set = utf8
啟動MySQL服務
[root@sample ~]# chkconfig mysqld on ← 設定MySQL服務隨系統啟動自啟動
[root@sample ~]# chkconfig --list mysqld ← 確認MySQL自啟動
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 如果2--5為on的狀態就OK
[[email protected] ~]#/etc/rc.d/init.d/mysqld start ← 啟動MySQL服務
Initializing MySQL database: [ OK ]
Starting MySQL: [ OK ]
MySQL初始環境設定
[1]為MySQL的root使用者佈建密碼
MySQL在剛剛被安裝的時候,它的root使用者是沒有被設定密碼的。首先來設定MySQL的root密碼。
[[email protected] ~]# mysql -u root ← 用root使用者登入MySQL伺服器
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.1.20
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer.
mysql>grant all on mysql.* to ‘root‘@‘localhost‘ identified by ‘password‘;
之後 就可以通過密碼登入mysql了。
設定MySQL允許外網訪問
1.修改設定檔
sudo vim /etc/mysql/my.cnf
把bind-address參數的值改成你的內/外網IP或0.0.0.0,或者直接注釋掉這行.
2.登入資料庫
mysql -u root -p
輸入密碼
mysql> use mysql;
3.查詢host
mysql> select user,host from user;
4.建立host
如果沒有"%"這個host值,就執行下面這兩句:
mysql> update user set host=‘%‘ where user=‘root‘;
mysql> flush privileges;
5.授權使用者
任意主機以使用者root和密碼mypwd串連到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘mypwd‘ WITH GRANT OPTION;
mysql> flush privileges;
IP為192.168.1.102的主機以使用者myuser和密碼mypwd串連到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘192.168.1.102‘ IDENTIFIED BY ‘mypwd‘ WITH GRANT OPTION;
mysql> flush privileges;
MySQL建立使用者,授權,刪除使用者,修改密碼
1. CREATE USER
文法:
CREATE USER ‘username‘@‘host‘ IDENTIFIED BY ‘password‘;
例子: CREATE USER ‘dog‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
CREATE USER ‘pig‘@‘192.168.1.101_‘ IDENDIFIED BY ‘123456‘;
CREATE USER ‘pig‘@‘%‘ IDENTIFIED BY ‘123456‘;
CREATE USER ‘pig‘@‘%‘ IDENTIFIED BY ‘‘;
CREATE USER ‘pig‘@‘%‘;
執行個體1:
mysql> create user jss;
這樣建立的使用者,可以從任意安裝了mysql用戶端,並能夠訪問目標伺服器的機器上建立串連,無須密碼.例如,從ip:10.0.0.99的用戶端執行串連:
mysql -ujss -h 172.16.1.110
查看該使用者:
mysql> select user,host,password from user where user=‘jss‘;
SELECT USER(); //顯示目前使用者
執行個體2:
mysql> create user jss_ps identified by ‘jss‘;
使用者串連時,必須指定密碼,那就可以在建立使用者時,通過指定identified by子句來設定密碼
用密碼登陸:
mysql -ujss_ps -p -h 172.16.1.110
如果希望指定的使用者只能從某台指定的域(domain)或主機訪問,可以在建立使用者時指定host,例如,指定使用者只能從10.0.0.99訪問
mysql> create user [email protected] identified by password ‘123456‘;
2. 使用GRANT語句
文法:mysql> grant 許可權1,許可權2,...許可權n on 資料庫名稱.表名稱 to 使用者名稱@使用者地址 identified by ‘串連口令‘;
許可權1,許可權2,...許可權n代表
select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個許可權
執行個體:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by ‘123‘;
給來自10.163.225.87的使用者joe分配可對資料庫vtdc的employee表進行select,insert,update,delete,create,drop等操作的許可權,並設定口令為123。
mysql>grant all privileges on vtdc.* to [email protected] identified by ‘123‘;
給來自10.163.225.87的使用者joe分配可對資料庫vtdc所有表進行所有操作的許可權,並設定口令為123。
mysql>grant all privileges on *.* to [email protected] identified by ‘123‘;
給來自10.163.225.87的使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。
mysql>grant all privileges on *.* to [email protected] identified by ‘123‘;
給本機使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。
3. 直接向mysql.user表插入記錄:
mysql> insert into user (host,user,password) values (‘%‘,‘jss_insert‘,password(‘jss‘));
mysql>flush privileges; //重新整理系統許可權表
4. 修改mysql使用者密碼方式:
a. 使用mysqladmin文法:mysqladmin -u使用者名稱 -p舊密碼 password 新密碼
例如:mysqladmin -u root -p 123 password 456;
b. 直接修改user表的使用者口令:
文法:update mysql.user set password=password(‘新密碼‘) where User="phplamp" and Host="localhost";
執行個體:update user set password=password(‘54netseek‘) where user=‘root‘;
flush privileges;
c. 使用SET PASSWORD語句修改密碼:文法:
SET PASSWORD FOR ‘username‘@‘host‘ = PASSWORD(‘newpassword‘);
如果是當前登陸使用者用SET PASSWORD = PASSWORD("newpassword");
執行個體:
set password for [email protected]=password(‘‘);
SET PASSWORD FOR name=PASSWORD(‘new password‘);
SET PASSWORD FOR ‘pig‘@‘%‘ = PASSWORD("123456");
5. 刪除使用者和撤銷許可權:
a. 取消一個賬戶和其許可權
Drop USER user;
drop user [email protected]‘%‘
drop user [email protected]
b. 取消授權使用者:
文法:REVOKE privilege ON databasename.tablename FROM ‘username‘@‘host‘;
例子: REVOKE SELECT ON *.* FROM ‘pig‘@‘%‘;
REVOKE SELECT ON test.user FROM ‘pig‘@‘%‘;
revoke all on *.* from [email protected] ;
revoke all on user.* from ‘admin‘@‘%‘;
SHOW GRANTS FOR ‘pig‘@‘%‘; //查看授權
c. 刪除使用者:
文法: Delete from user where user = "user_name" and host = "host_name" ;
例子:delete from user where user=‘sss‘ and host=‘localhost‘;
二、資料庫表
1.查看所有資料庫: 資料庫目錄:/usr/local/mysql/data
mysql> SHOW DATABASES; //顯示資料庫
mysql> USE abccs //進入資料庫
mysql> SHOW TABLES; //顯示表
mysql> DESCRIBE mytable; //顯示表結構
mysql> CREATE DATABASE abccs; //建立一個資料庫
mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20)); //建立表
mysql> insert into mytable values (‘abccs’,‘f’,‘1977-07-07’,‘china’); //插入表資料
使用文本方式插入資料:
{
mysql.txt內容:abccs f 1977-07-07 china
mary f 1978-12-12 usa
tom m 1970-09-02 usa
mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; //匯入TXT檔案資料
}
2.刪除資料庫:
mysql> drop database drop_database; //刪除一個已經確定存在的資料庫
alter table 表名 ENGINE=儲存引擎名; //修改表的儲存引擎
alter table 表名 drop 屬性名稱; //刪除欄位
alter table 舊錶名 rename to 新表名; //修改表名
alter table 表名 modify 屬性名稱 資料類型; //修改欄位資料類型
alter table 表名 change 舊屬性名稱 新屬性名稱 新資料類型; //修改欄位名
alter table 表名 drop FOREING KEY 外鍵別名; //刪除子表外鍵約束
增加表欄位:
{ alter table example add phone VACGAR(20); //增加無約束的欄位
alter table example add age INT(4) NOT NULL; //增加萬增約束的欄位
alter table example add num INT(8) PRIMARY KEY FIRST; //表的第一個位置增加欄位
alter table example add address VARCHAR(30) NOT NULL AFTER phone; //表的指定位置之後增加欄位
alter table example modify name VARCHAR(20) FIRST; //把欄位修改到第一位
alter table example modify num INT(8) ATER phone;//把欄位修改到指定欄位之後
}
redhat6.4下使用centos的yum源安裝mysql