linux安裝mysql5.7.19

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
相關文章
相關標籤/搜索