1、下載:當前mysql版本到了5.6.20
http://dev.mysql.com/downloads/mysql
選擇Source Code
2、必要軟件包
yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake
3、編譯安裝
添加用戶
groupadd mysql
useradd -r -g mysql mysql
編譯安裝
tar -zxvf mysql-5.6.20.tar.gz
cd mysql-5.6.20
#默認情況下是安裝在/usr/local/mysql
cmake .
make && make install
編譯參數
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
編譯的參數可以參考http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
改變目錄所有者
chown -R mysql.mysql /usr/local/mysql
4、初始化數據庫
cd /usr/local/mysql/scripts
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
5、註冊爲服務
cd /usr/local/mysql/support-files
#註冊服務
cp mysql.server /etc/rc.d/init.d/mysql
#使用默認配置文件
cp my-default.cnf /etc/my.cnf
#讓chkconfig管理mysql服務
chkconfig --add mysql
#開機啓動
chkconfig mysql on
6、啓動MySQL服務
service mysql start
7、改變編碼,防止亂碼
SHOW VARIABLES LIKE 'character%'
修改mysql的my.cnf文件
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8
8、將mysql的bin加入到path中
cd ~
#我把path添加到當前用戶目錄的bashrc中,如果需要全局設定,請修改`/etc/profile`
vi .bashrc
#加入以下內容
PATH=/usr/local/mysql/bin:$PATH
export PATH
9、配置用戶密碼和遠程訪問權限
mysql -uroot
SET PASSWORD = PASSWORD('123456');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
1、grant語句
格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by “密碼”
說明:
(1)grant all 賦予所有的權限
(2)demo.* 數據庫 demo 中所有的表
(3)newuser 用戶名
(4)@localhost 在本地電腦上的 mysql server 服務器
(5)identfified by ‘password’ 設置密碼
增加一個用戶mysql密碼爲mysql,讓他可以在任何主機上登錄,並對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入MYSQL,然後鍵入以下命令:
代碼如下 | 複製代碼 |
grant select,insert,update,delete on *.* to mysql@'%' Identified by 'mysql'
|
2、查看 MySQL 用戶權限
查看當前用戶(自己)權限:
show grants;
查看其他 MySQL 用戶權限:
show grants for dba@localhost;
3、撤銷已經賦予給 MySQL 用戶權限的權限。
revoke 跟 grant 的語法差不多,只需要把關鍵字 “to” 換成 “from” 即可:
grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;