1:下載node
[root@localhost soft]# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
2:解壓文件mysql
[root@dbserver /]# tar -xzvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
3修改文件linux
[root@dbserver local]# mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql
4:檢查庫文件是否有刪除,如有便刪除(linux系統自帶的)sql
[root@dbserver mysql]# rpm -qa | grep mysql
刪除
[root@dbserver mysql]# rm -e –-nodeps mysql-libs-5.1.52.x86_64
5:檢查mysql組和用戶是否存在,如無建立數據庫
[root@dbserver ~]# cat /etc/group | grep mysql [root@dbserver ~]# cat /etc/passwd |grep mysql
建立ide
[root@dbserver ~]#groupadd mysql [root@dbserver ~]#useradd -r -g mysql mysql //useradd -r參數表示mysql用戶是系統用戶,不可用於登陸系統
6:在mysql下添加data目錄ui
[root@dbserver mysql]# mkdir data
7:更改mysql目錄下全部的目錄及文件夾所屬組合用戶this
[root@dbserver mysql]# cd /usr/local/ [root@dbserver local]# chown -R mysql mysql/ [root@dbserver local]# chgrp -R mysql mysql/ [root@dbserver local]# cd mysql/ [root@dbserver mysql]# ls -l total 40 drwxr-xr-x. 2 mysql mysql 4096 Aug 31 16:45 bin -rw-r--r--. 1 mysql mysql 17987 Jun 22 22:13 COPYING drwxr-xr-x. 2 mysql mysql 6 Aug 31 16:48 data drwxr-xr-x. 2 mysql mysql 52 Aug 31 16:45 docs drwxr-xr-x. 3 mysql mysql 4096 Aug 31 16:44 include drwxr-xr-x. 5 mysql mysql 4096 Aug 31 16:45 lib drwxr-xr-x. 4 mysql mysql 28 Aug 31 16:45 man -rw-r--r--. 1 mysql mysql 2478 Jun 22 22:13 README drwxr-xr-x. 28 mysql mysql 4096 Aug 31 16:45 share drwxr-xr-x. 2 mysql mysql 86 Aug 31 16:45 support-files
8:安裝和初始化數據庫
安裝code
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/--datadir=/usr/local/mysql/data/ 2017-08-31T08:50:23.910440Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-08-31T08:50:23.910635Z 0 [ERROR] Can't find error-message file '/usr/local/mysql/--datadir=/usr/local/mysql/data/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' con figuration directive.2017-08-31T08:50:24.709286Z 0 [Warning] InnoDB: New log files created, LSN=45790 2017-08-31T08:50:24.767540Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2017-08-31T08:50:24.892629Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 6e083b8f-8e29-11e7-88b1- 005056b427be.2017-08-31T08:50:24.895674Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2017-08-31T08:50:24.896645Z 1 [Note] A temporary password is generated for root@localhost: gFamcspKm2+u
報錯[ERROR] Can’t find error-message file ‘/usr/local/mysql/–datadir=/usr/local/mysql/data/share/errmsg.sys’. Check error-message file location and ‘lc-messages-dir’ concdn
解決
[root@dbserver bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US 2017-08-31T09:00:54.941514Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-08-31T09:00:56.364312Z 0 [Warning] InnoDB: New log files created, LSN=45790 2017-08-31T09:00:56.602211Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2017-08-31T09:00:56.668145Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: e69986d2-8e2a-11e7-a335- 005056b427be.2017-08-31T09:00:56.671464Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2017-08-31T09:00:56.672453Z 1 [Note] A temporary password is generated for root@localhost: qfuqvCsHb2!.
9配置my.cnf
接下來進入/usr/local/mysql/support-files/目錄下
查看是否存在my-default.cnf文件,若是存在直接copy到/etc/my.cnf文件中
[root@dbserver mysql]# cp -a ./support-files/my-default.cnf /etc/my.cnf
若是不存在my-default.cnf文件,則在/etc/目錄下建立my.cnf,並寫入如下內容
#[mysql] #basedir=/usr/local/mysql/ #datadir=/usr/local/mysql/data/
10啓動服務
[root@dbserver mysql]# cd bin/ [root@dbserver bin]# ./mysqld_safe --user=mysql & [2] 10436 [root@dbserver bin]# Logging to '/var/log/mysql/mysql.log'. 2017-08-31T09:52:15.806633Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 2017-08-31T09:52:16.292949Z mysqld_safe mysqld from pid file /var/run/mysql/mysql.pid ended
11將mysqld服務加入開機自啓動項。
將{mysql}/ support-files/mysql.server 拷貝爲/etc/init.d/mysql並設置運行權限,這樣就能夠使用service mysql命令啓動/中止服務,
不然就只能使用{mysql}/bin/mysqld_safe &命令來啓動服務
還須要把mysql.server中basedir的相關路徑,改成自定義的路徑,默認路徑是/usr/local/mysql
[root@dbserver support-files]# cp mysql.server /etc/init.d/mysql [root@dbserver support-files]# chmod +x /etc/init.d/mysql -- 把mysql註冊爲開機啓動的服務 [root@dbserver support-files]# chkconfig --add mysql -- 查看是否添加成功 [root@dbserver support-files]# chkconfig --list mysql Note: This output shows SysV services only and does not include native systemd services. SysV configuration data might be overridden by native systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'. To see services enabled on particular target use 'systemctl list-dependencies [target]'. mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
12啓動服務
[root@dbserver bin]# service mysql start Starting MySQL.Logging to '/var/log/mysql/mysql.log'. ERROR! The server quit without updating PID file (/var/lib/mysql/dbserver.pid).
解決
[root@dbserver mysql]# rm /etc/my.cnf rm: remove regular file '/etc/my.cnf'? y [root@dbserver mysql]# /etc/init.d/mysql start Starting MySQL.Logging to '/usr/local/mysql/data/dbserver.err'. SUCCESS! [root@dbserver mysql]# service mysql start Starting MySQL SUCCESS!
13登陸mysql
[root@dbserver bin]# ./mysql -u root -p 密碼是第八步產生的密碼
14設置密碼
mysql> set password=password("root"); Query OK, 0 rows affected, 1 warning (0.00 sec) 注意不要使用單引號,爲何?你本身試試就知道了
15設置遠程登陸權限
mysql> grant all privileges on *.* to'root' @'%' identified by 'root'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.06 sec) mysql> quit Bye