Linux安裝Mysql(豐富圖文)

目錄

一、安裝準備

1、檢查是否已經安裝過mysql,執行命令

2、查詢所有Mysql對應的文件夾

3、檢查mysql用戶組和用戶是否存在,如果沒有,則創建

4、Mysql官網下載

二、Mysql安裝步驟

1、上傳安裝包

2、在/usr/local/mysql目錄下創建data目錄

3、更改mysql目錄下所有所屬的用戶組和用戶,以及權限

4、編譯安裝並初始化mysql,初始化輸出日誌末尾爲臨時登錄密碼

5、常見錯誤

6、編輯配置文件my.cnf

7、啓動服務器

8、常見問題

9、添加軟連接,並重啓mysql服務

10、登錄mysql,修改密碼(密碼爲步驟4生成的臨時密碼)

11、開放遠程連接

12、設置開機自動啓動

13、登錄Mysql

    本文參考多個網博,圖片皆爲自己安裝過程截圖和添加講解,以及3點問題規避,嚴格按照本文安裝可一次性成功!

一、安裝準備

1、檢查是否已經安裝過mysql,執行命令

[root@localhost /]# rpm -qa | grep mysql
mysql-libs-5.1.73-5.el6_6.x86_64
[root@localhost /]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
[root@localhost /]# rpm -qa | grep mysql
[root@localhost /]# 

2、查詢所有Mysql對應的文件夾

[root@localhost /]# whereis mysql
mysql: /usr/bin/mysql /usr/include/mysql
[root@localhost lib]# find / -name mysql
/data/mysql
/data/mysql/mysql

刪除相關目錄或文件

[root@localhost /]#  rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql 

驗證是否刪除完畢

[root@localhost /]# whereis mysql
mysql:
[root@localhost /]# find / -name mysql
[root@localhost /]# 

3、檢查mysql用戶組和用戶是否存在,如果沒有,則創建

[root@localhost /]# cat /etc/group | grep mysql
[root@localhost /]# cat /etc/passwd |grep mysql
[root@localhost /]# groupadd mysql
[root@localhost /]# useradd -r -g mysql mysql
[root@localhost /]# 

4、Mysql官網下載

(1)、Mysql5.7版本

命令下載:

[root@localhost /]#  wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

選擇對應版本

(2)、最新版本Mysql8.0.2

(3)、下載的安裝包

二、Mysql安裝步驟

1、上傳安裝包

  • 解壓安裝包mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
  • 移動該文件到/usr/local/下
  • 將文件夾名稱修改爲mysql
  • 注意:如果不移動到上述位置,後面初始化會報錯:No such file or directory Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mys

2、在/usr/local/mysql目錄下創建data目錄

3、更改mysql目錄下所有所屬的用戶組和用戶,以及權限

[root@localhost /]# groupadd mysql
[root@localhost /]# useradd -r -g mysql mysql

[root@localhost /]# chown -R mysql:mysql /usr/local/mysql
[root@localhost /]# chmod -R 755 /usr/local/mysql

4、編譯安裝並初始化mysql,初始化輸出日誌末尾爲臨時登錄密碼

[root@localhost /]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

5、常見錯誤

[root@localhost bin]# rpm -qa|grep libaio   
[root@localhost bin]# 
[root@localhost bin]#  yum install  libaio-devel.x86_64

[root@localhost bin]#  yum -y install numactl

6、編輯配置文件my.cnf

vim /etc/my.cnf

配置替換爲

[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小寫不明感,敏感爲
lower_case_table_names=1

7、啓動服務器

[root@localhost bin]# mysql -u root -p
-bash: mysql: command not found
[root@localhost bin]#  /usr/local/mysql/support-files/mysql.server start
Starting MySQL SUCCESS! 
[root@localhost bin]# 2020-06-16T07:21:48.372671Z mysqld_safe A mysqld process already exists
^C
[root@localhost bin]# ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@localhost bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@localhost bin]# service mysql restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 

8、常見問題

(1)Starting MySQL... ERROR! The server quit without updating PID file

#查詢服務
ps -ef|grep mysql
ps -ef|grep mysqld

#結束進程
kill -9 PID

#啓動服務
 /usr/local/mysql/support-files/mysql.server start

(2) mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log'

[root@localhost bin]#  /usr/local/mysql/support-files/mysql.server start
Starting MySQL.2020-06-10T08:44:02.315128Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

         嚴格按照步驟6即可解決。

(3)Redirecting to /bin/systemctl restart mysql.service Failed to restart mysql.

使用如下命令操作mysql即可:
systemctl restart mysqld.service
systemctl start mysqld.service
systemctl stop mysqld.service

9、添加軟連接,並重啓mysql服務

[root@localhost bin]#  ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
[root@localhost bin]#  ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@localhost bin]#  service mysql restart

10、登錄mysql,修改密碼(密碼爲步驟4生成的臨時密碼)

[root@localhost /]#  mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('mypass');

11、開放遠程連接

mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;

12、設置開機自動啓動

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit;
Bye

1、將服務文件拷貝到init.d下,並重命名爲mysql
[root@localhost bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、賦予可執行權限
[root@localhost bin]# chmod +x /etc/init.d/mysqld
3、添加服務
[root@localhost bin]# chkconfig --add mysqld
4、顯示服務列表
[root@localhost bin]# chkconfig --list

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]'.

mysqld         	0:off	1:off	2:on	3:on	4:on	5:on	6:off
netconsole     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
[root@localhost bin]# mysql -u root -p
Enter password: 

13、登錄Mysql

[root@localhost bin]# mysql -u root -p
Enter password: 
mysql> show databases;

 

主要參考博客:https://www.jianshu.com/p/276d59cbc529

有用請點贊,養成良好習慣!

疑問、交流、鼓勵請留言!

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章