廢話很少說,雖然能夠經過yum直接安裝MySQL,可是爲了可以對安裝過程有一個比較清晰的認識, 咱們這裏仍是使用源碼編譯安裝。mysql
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.21.tar.gz $ tar -zxvf mysql-5.6.21.tar.gz $ cd mysql-5.6.21
文件已經下載而且解壓好了,在安裝以前,咱們須要爲mysql創建名爲mysql
的用戶名和用戶組。c++
$ sudo groupadd mysql $ sudo useradd -r -g mysql mysql
創建好用戶名和組以後,就能夠進行編譯安裝了sql
$ cmake . $ make $ sudo make install
編譯過程比較漫長,耐心一點shell
若是沒有安裝cmake,則須要先安裝數據庫
$ sudo yum install cmake $ sudo yum install gcc-c++
若是提示安全
Warning: Bison executable not found in PATH
則須要安裝bisonbash
$ sudo yum install bison
若是出現如下錯誤app
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) CMake Error at cmake/readline.cmake:85 (MESSAGE): Curses library not found. Please install appropriate package, remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
則須要安裝dom
$ sudo yum install ncurses-devel
通過漫長的編譯過程,咱們的mysql終於安裝到了/usr/local/mysql
目錄,接下來,咱們須要對mysql 進行相應的配置,使得mysql變得可用。es5
$ cd /usr/local/mysql/ $ sudo chown -R mysql . $ sudo chgrp -R mysql . $ sudo scripts/mysql_install_db --user=mysql
這裏的mysql_install_db
腳本只有在手動編譯安裝mysql的時候須要,該腳本爲mysql創建了受權表。
大多數的mysql安裝是屬於root用戶的,可是必須保證data目錄是數據mysql用戶。
$ sudo chown -R root . $ sudo chown -R mysql data
最後,咱們須要建立mysql的配置文件
$ sudo cp support-files/my-default.cnf /etc/my.cnf
####配置MySQL開機啓動 若是但願在系統啓動的時候mysql也可以自動的啓動,能夠執行下面的命令
$ sudo cp support-files/mysql.server /etc/init.d/mysql.server $ sudo chmod u+x /etc/init.d/mysql.server $ sudo chkconfig --add mysql.server
執行chkconfig |grep mysql
看到以下,特別是運行級別3爲啓用,則說明設置成功。
$ chkconfig |grep mysql mysql.server 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
能夠經過mysql.server
腳本啓動和關閉mysql。
$ sudo /etc/init.d/mysql.server [start|stop]
若是要手動操做的話,啓動mysql的話使用命令:
$ sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
關閉mysql:
$ ./mysqladmin -u root shutdown
####修改root帳號密碼
新安裝的mysql數據庫的root帳號是沒有設置密碼的,所以,全部人均可以進行訪問,爲了安全起見, 咱們須要爲root帳號設置一個密碼。
$ /usr/local/mysql/bin/mysql -uroot mysql> SELECT User, Host, Password FROM mysql.user; +------+-----------------------+----------+ | User | Host | Password | +------+-----------------------+----------+ | root | localhost | | | root | localhost.localdomain | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | localhost.localdomain | | +------+-----------------------+----------+ 6 rows in set (0.00 sec)
這裏User一列爲空的是匿名用戶信息,使用
mysql
直接登錄的時候,沒有提供帳號的話, 就會以該用戶的身份登錄數據庫,若是不須要該用戶的話,能夠刪除掉該用戶信息。
mysql> DROP USER ''@'localhost'; mysql> DROP USER ''@'localhost.localdomain';
一般咱們有三種方式爲mysql用戶設置密碼:
第一種方式是使用SET PASSWORD
,使用該指令,咱們須要登錄到mysql。
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root'); Query OK, 0 rows affected (0.00 sec) mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('root'); Query OK, 0 rows affected (0.00 sec) mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('root'); Query OK, 0 rows affected (0.00 sec)
第二種方式更加直接,使用UPDATA
直接修改數據表。
mysql> UPDATE mysql.user SET Password = PASSWORD('root') WHERE User = 'root'; Query OK, 1 row affected (0.00 sec) Rows matched: 4 Changed: 1 Warnings: 0 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
這裏的FLUSH
語句讓數據庫從新加載受權表,不然須要等下次重啓才能生效。
第三種方式是使用mysqladmin
命令,不過這種方式不能爲'root'@'127.0.0.1'
和'root'@'::1'
修改密碼。
shell> mysqladmin -u root password "newpwd" shell> mysqladmin -u root -h host_name password "newpwd"