1.解壓mysql安裝包(tar包)
nc@deepinOS:~/Downloads$ tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
mysql-5.7.31-linux-glibc2.12-x86_64/
mysql-5.7.31-linux-glibc2.12-x86_64/man/
mysql-5.7.31-linux-glibc2.12-x86_64/man/man1/
mysql-5.7.31-linux-glibc2.12-x86_64/man/man1/mysqld_multi.1
mysql-5.7.31-linux-glibc2.12-x86_64/man/man1/comp_err.1
......
2.對解壓出來的文件夾重命名爲mysql
nc@deepinOS:~/Downloads$ mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql
3.將mysql文件夾移動到想要作爲安裝目錄的路徑下(/usr/local)
root@deepinOS:/home/nc/Downloads# mv /home/nc/Downloads/mysql /usr/local/
root@deepinOS:/home/nc/Downloads# cd /usr/local/
root@deepinOS:/usr/local# ll
total 40
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 bin
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 etc
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 games
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 include
drwxr-xr-x 7 nc nc 4096 Apr 2 2019 jdk1.8.0_212
drwxrwsr-x 4 root staff 4096 Aug 19 01:59 lib
lrwxrwxrwx 1 root staff 9 Aug 19 01:59 man -> share/man
drwxr-xr-x 9 nc nc 4096 Jun 2 21:11 mysql
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 sbin
drwxrwsr-x 8 root staff 4096 Aug 18 19:17 share
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 src
4.添加mysql用戶組
root@deepinOS:/usr/local# groupadd mysql
5.添加mysql用戶並設置mysql用戶屬於mysql用戶組
root@deepinOS:/usr/local# useradd -r -g mysql mysql
6.在mysql目錄下創建data文件夾用於存儲數據
root@deepinOS:/usr/local# cd mysql/
root@deepinOS:/usr/local/mysql# mkdir data
7.更改mysql文件夾的所屬用戶和所屬用戶組
root@deepinOS:/usr/local/mysql# chown -R mysql:mysql ./
root@deepinOS:/usr/local/mysql# cd ..
root@deepinOS:/usr/local# ll
total 40
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 bin
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 etc
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 games
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 include
drwxr-xr-x 7 nc nc 4096 Apr 2 2019 jdk1.8.0_212
drwxrwsr-x 4 root staff 4096 Aug 19 01:59 lib
lrwxrwxrwx 1 root staff 9 Aug 19 01:59 man -> share/man
drwxr-xr-x 10 mysql mysql 4096 Aug 21 09:06 mysql
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 sbin
drwxrwsr-x 8 root staff 4096 Aug 18 19:17 share
drwxrwsr-x 2 root staff 4096 Aug 19 01:59 src
root@deepinOS:/usr/local# cd mysql/
root@deepinOS:/usr/local/mysql# ll
total 308
drwxr-xr-x 2 mysql mysql 4096 Jun 2 21:11 bin
drwxr-xr-x 2 mysql mysql 4096 Aug 21 09:06 data
drwxr-xr-x 2 mysql mysql 4096 Jun 2 21:11 docs
drwxr-xr-x 3 mysql mysql 4096 Jun 2 21:11 include
drwxr-xr-x 5 mysql mysql 4096 Jun 2 21:11 lib
-rw-r--r-- 1 mysql mysql 275393 Jun 2 19:05 LICENSE
drwxr-xr-x 4 mysql mysql 4096 Jun 2 21:11 man
-rw-r--r-- 1 mysql mysql 587 Jun 2 19:05 README
drwxr-xr-x 28 mysql mysql 4096 Jun 2 21:11 share
drwxr-xr-x 2 mysql mysql 4096 Jun 2 21:11 support-files
8.初始化mysql (記下最後打印出來的 root用戶的初始密碼)
root@deepinOS:/usr/local/mysql# cd bin/
root@deepinOS:/usr/local/mysql/bin# ll
total 692056
-rwxr-xr-x 1 mysql mysql 8109910 Jun 2 20:55 innochecksum
-rwxr-xr-x 1 mysql mysql 236870 Jun 2 20:53 lz4_decompress
-rwxr-xr-x 1 mysql mysql 10029434 Jun 2 20:55 myisamchk
-rwxr-xr-x 1 mysql mysql 9572063 Jun 2 20:55 myisam_ftdump
-rwxr-xr-x 1 mysql mysql 7475370 Jun 2 20:55 myisamlog
-rwxr-xr-x 1 mysql mysql 9696695 Jun 2 20:55 myisampack
-rwxr-xr-x 1 mysql mysql 7399682 Jun 2 20:53 my_print_defaults
-rwxr-xr-x 1 mysql mysql 10355627 Jun 2 20:56 mysql
-rwxr-xr-x 1 mysql mysql 9211866 Jun 2 20:56 mysqladmin
-rwxr-xr-x 1 mysql mysql 11184624 Jun 2 20:56 mysqlbinlog
-rwxr-xr-x 1 mysql mysql 9582954 Jun 2 20:56 mysqlcheck
-rwxr-xr-x 1 mysql mysql 5245 Jun 2 20:52 mysql_config
-rwxr-xr-x 1 mysql mysql 7576575 Jun 2 20:56 mysql_config_editor
-rwxr-xr-x 1 mysql mysql 254824985 Jun 2 21:02 mysqld
-rwxr-xr-x 1 mysql mysql 27139 Jun 2 20:52 mysqld_multi
-rwxr-xr-x 1 mysql mysql 27836 Jun 2 20:52 mysqld_safe
-rwxr-xr-x 1 mysql mysql 9485037 Jun 2 20:56 mysqldump
-rwxr-xr-x 1 mysql mysql 7865 Jun 2 20:52 mysqldumpslow
-rwxr-xr-x 1 mysql mysql 219115876 Jun 2 21:02 mysql_embedded
-rwxr-xr-x 1 mysql mysql 9234535 Jun 2 20:56 mysqlimport
-rwxr-xr-x 1 mysql mysql 9714647 Jun 2 20:56 mysql_install_db
-rwxr-xr-x 1 mysql mysql 7463251 Jun 2 20:56 mysql_plugin
-rwxr-xr-x 1 mysql mysql 17468589 Jun 2 20:57 mysqlpump
-rwxr-xr-x 1 mysql mysql 9163335 Jun 2 20:56 mysql_secure_installation
-rwxr-xr-x 1 mysql mysql 9171220 Jun 2 20:56 mysqlshow
-rwxr-xr-x 1 mysql mysql 9275194 Jun 2 20:56 mysqlslap
-rwxr-xr-x 1 mysql mysql 7784350 Jun 2 20:53 mysql_ssl_rsa_setup
-rwxr-xr-x 1 mysql mysql 5111610 Jun 2 20:53 mysql_tzinfo_to_sql
-rwxr-xr-x 1 mysql mysql 12422038 Jun 2 20:56 mysql_upgrade
-rwxr-xr-x 1 mysql mysql 7538509 Jun 2 20:55 perror
-rwxr-xr-x 1 mysql mysql 5329503 Jun 2 20:53 replace
-rwxr-xr-x 1 mysql mysql 7396104 Jun 2 20:53 resolveip
-rwxr-xr-x 1 mysql mysql 7485332 Jun 2 20:53 resolve_stack_dump
-rwxr-xr-x 1 mysql mysql 112619 Jun 2 20:53 zlib_decompress
root@deepinOS:/usr/local/mysql/bin# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
2020-08-21T01:09:35.949038Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-08-21T01:09:36.469739Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-08-21T01:09:36.547522Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-08-21T01:09:36.630441Z 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: fafeb9cf-e34a-11ea-b68c-000c29977c48.
2020-08-21T01:09:36.632526Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-08-21T01:09:36.917981Z 0 [Warning] CA certificate ca.pem is self signed.
2020-08-21T01:09:37.316098Z 1 [Note] A temporary password is generated for root@localhost: oqu6Cka2Rr!c
9.將mysql執行文件mysqld複製到/etc/init.d/下,修改文件內容,設置basedir 和 datadir
root@deepinOS:/usr/local/mysql/bin#
root@deepinOS:/usr/local/mysql/bin# cd ../support-files/
root@deepinOS:/usr/local/mysql/support-files# ll
total 24
-rw-r--r-- 1 mysql mysql 773 Jun 2 19:05 magic
-rwxr-xr-x 1 mysql mysql 1061 Jun 2 20:52 mysqld_multi.server
-rwxr-xr-x 1 mysql mysql 894 Jun 2 20:52 mysql-log-rotate
-rwxr-xr-x 1 mysql mysql 10576 Jun 2 20:52 mysql.server
root@deepinOS:/usr/local/mysql/support-files# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
root@deepinOS:/usr/local/mysql/support-files# vim /etc/init.d/mysqld
# vim 設置/etc/init.d/mysqld 文件中的 basedir 和 datadir
# If you change base dir, you must also change datadir. These may get
# overwritten by settings in the MySQL configuration files.
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
10.設置執行文件mysql 的連接
nc@deepinOS:~$ sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/
11.進入mysql/bin目錄,啓動mysql服務
root@deepinOS:/usr/local/mysql# cd bin/
root@deepinOS:/usr/local/mysql/bin# ./mysqld_safe --user=mysql &
[1] 6457
root@deepinOS:/usr/local/mysql/bin# Logging to '/usr/local/mysql/data/deepinOS.err'.
2020-08-21T01:23:10.715502Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
12.使用root用戶登錄Mysql(root用戶密碼在初始化Mysql的時候會打印出來)
nc@deepinOS:~$
nc@deepinOS:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.31
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
#更新root用戶密碼
mysql> set password for root@localhost = password('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> exit
Bye
nc@deepinOS:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.31
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
(使用mysql數據庫)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
(設置root用戶可以通過任意host登錄)
mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select user,host from user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)
mysql> ^DBye
13.開放3306端口(deepin-linux 安裝的ufw作爲防火牆管理,所以通過ufw開放3306)
nc@deepinOS:~$ sudo ufw allow 3306
[sudo] password for nc:
Rule added
Rule added (v6)
14.配置MySQL開機自啓動
nc@deepinOS:~$ sudo update-rc.d -f mysqld defaults
nc@deepinOS:~$
(移除mysql開機自啓動:sudo update-rc.d -f mysqld remove)
15.配置mysql全局變量
nc@deepinOS:~$ sudo vim /etc/profile
[sudo] password for nc:
# vim /etc/profile 配置mysql全局變量
# mysql config
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
16.重啓系統使之前的配置生效
備註:my.ini文件在/etc/mysql目錄下
參考鏈接:https://blog.csdn.net/BigData_Mining/article/details/100975758