詳解基於linux環境MySQL搭建與卸載

本篇文章將從實際操做的層面,講解基於linux環境的mysql的搭建和卸載。html

1  搭建mysql

1.1  官網下載mysql壓縮包mysql

下載壓縮包時,能夠先把安裝包下載到本地,再上傳到服務器,也能夠在linux服務器上wget:linux

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gzredis

官網:https://dev.mysql.com/downloads/mysql/5.7.html#downloadssql

1.2  解壓gz壓縮包數據庫

tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz服務器

1.3 將壓縮包移動到 /usr/local/mysql/app

mv -v mysql-5.7.26-linux-glibc2.12-x86_64 /usr/lcoal/mysqlsocket

1.4 建立用戶組和添加用戶tcp

groupadd mysql
useradd -r -g mysql mysql

1.5 將安裝目錄全部者及所屬組改成mysql,這個根據本身的目錄來

#chown -R mysql.mysql /usr/local/mysql

1.6  在mysql目錄下建立data文件夾

#mkdir data 

1.7 初始化數據庫

#/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
若是出現如下錯誤是由於5.7版本的初始化命令後面要加 --initialize,以下:

/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize

1.8 編輯配置文件

配置文件地址:/etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密碼驗證
//skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
1.9 將mysql加入到服務

#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

1.10 開機啓動

#chkconfig mysql on

1.11 啓動mysql

#service mysql start

1.12 設置密碼

因爲在第7步my.cnf配置文件中取消了密碼驗證,故登陸mysql不須要密碼驗證。

/usr/local/mysql/bin/mysql -uroot

無密碼登陸以後,修改密碼:

#use mysql;
#update user set authentication_string=password('root') where user='root';
或者#set password=password("root");
#flush privileges;
#exit

1.13 將第7步改成須要密碼驗證

1.14 添加遠程帳戶

使用root帳戶登陸,並設置遠程登陸帳戶

GRANT ALL PRIVILEGES ON *.* to 'Alan_beijing'@'%' IDENTIFIED by 'Shanghai2019' WITH GRANT OPTION

1.15 防火牆設置

方式一:關閉防火牆

//中止
systemctl stop firewalld.service
//禁止開機啓動
systemctl disable firewalld.service

方式二:開啓端口

//這裏發現防火牆是開啓的,再來查看防火牆控制的端口
systemctl status firewalld
//查看防火牆控制的端口,發現我想要監聽的8081端口沒有開啓
firewall-cmd --list-all
//永久開啓3306端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
//重載防火牆
sudo firewall-cmd --reload

1.16 重啓mysql服務

service mysql start

1.17 相關命令

  1 .安裝numactl和libaio

    yum -y install numactl
    yum search libaio
    yum install libaio

  2.配置環境變量

      export PATH=$PATH:/usr/local/mysql/bin

 3.啓動服務

方式一:服務方式

[root@localhost ~]service mysql start
若是服務在啓動狀態,直接重啓服務用如下命令:
[root@localhost ~]service mysql restart

方式二:命令行方式

[root@localhost bin]cd /usr/bin

[root@localhost bin]./mysqld_safe &

 4.關閉服務

方式一:服務方式

[root@localhost ~]service mysql stop

方式二:命令行方式

[root@localhost ~]mysqladmin -u root shutdown

 5.查看服務

方式一:

[root@localhost bin]ps -ef|grep mysql

方式二:

[root@localhost bin]netstat -nlp

 6.進程查詢和殺死

(1) ps -ef |grep redis

ps:將某個進程顯示出來
-A  顯示全部程序。 
-e  此參數的效果和指定"A"參數相同。
-f  顯示UID,PPIP,C與STIME欄位。 
grep命令是查找
中間的|是管道命令 是指ps命令與grep同時執行

這條命令的意思是顯示有關redis有關的進程

(2)kill[參數][進程號]

   kill -9 4394

kill就是給某個進程id發送了一個信號。默認發送的信號是SIGTERM,而kill -9發送的信號是SIGKILL,即exit。

exit信號不會被系統阻塞,因此kill -9能順利殺掉進程。固然你也可使用kill發送其餘信號給進程。

7.查看mysql

方法一:status;
方法二:select version();

2  卸載mysql

2.1 RPM包安裝方式的MySQL卸載

 1.檢查是否安裝了MySQL組件
   # rpm -qa | grep -i mysql

 2.卸載前關閉MySQL服務
     # service mysql status 

     # service mysql stop

     # service mysql status

 3.卸載刪除MySQL各種組件

     # rpm -ev  組件名 
 4.收集MySQL對應的文件夾信息

     # find / -name mysql
5.收集MySQL對應的文件夾信息

     # rm -rf  路徑/文件名
6.刪除mysql用戶及用戶組

    # more /etc/passwd | grep mysql

    # more /etc/shadow | grep mysql 

    # more /etc/group | grep mysql  

    # userdel mysql

    # groupdel mysql

7.確認MySQL是否卸載刪除

    #  rpm -qa | grep -i mysql

2.2  yum包安裝方式的MySQL安裝
1.查看yum上提供的數據庫可下載版本
    #  yum list | grep mysql

2.安裝mysql.i686,mysql-devel.i686,mysql-server.i686
   #  yum -y install mysql mysql-server mysql-devel

3.查看是否開機啓動
   # chkconfig --list | grep mysqld

4.設置爲開機啓動
   #  chkconfig mysqld on

5.設置數據庫密碼
  #  service mysqld start

  #  mysqladmin -u root -p password 'root'

2.3  service mysql start出錯:unrecognized service的解決辦法
[root@ctohome.com ~]# service mysql start
mysql: unrecognized service
[root@ctohome.com ~]# service mysql restart
mysql: unrecognized service
 
[root@ctohome.com ~]# rpm -q mysql   查詢發現mysql已經正常安裝
mysql-5.1.52-jason.1

[root@ctohome.com ~]# chmod 755 /etc/rc.d/init.d/mysqld  修改mysqld執行權限

[root@ctohome.com ~]# service mysqld start  搞定
Starting mysqld:  [  OK  ]
[root@ctohome.com ~]# service mysqld status
mysqld (pid 9487) is running...

2.4  Navicat for mysql遠程鏈接數據庫詳解(1130錯誤解決方法)
1.進入MySql控制檯: mysql -u root -p

2.彈出Enter password:   輸入您的數據庫密碼

3.執行下命令: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的數據庫密碼' WITH GRANT OPTION;

4.再執行下下命令:  flush privileges;

5.mysql服務啓動、中止、重啓
(一)啓動方式

(1)使用 service 啓動:service mysqld start

(2)使用 mysqld 腳本啓動:/etc/inint.d/mysqld start

(3)使用 safe_mysqld 啓動:safe_mysqld&

(二)中止

(1)使用 service 啓動:service mysqld stop

(2)使用 mysqld 腳本啓動:/etc/inint.d/mysqld stop

(3)mysqladmin shutdown

(4)殺掉進程:

  #  ps -ef  |  grep mysqld

 #  kill -9  進程號 

(三)重啓

(1)(使用 service 啓動:service mysqld restart

(2)使用 mysqld 腳本啓動:/etc/inint.d/mysqld restart

6.mysql 查詢的基本命令
   1)查看內存
  #  top

 2)mysql的安裝路徑和運行路徑
  #  whereis mysqld

    3)PATH變量指定的路徑中,搜索mysql的信息
  #  which mysqld

    4)查看配置文件
 #  vi /etc/my.cnf

7.解決修改mysql的datadir所引起的錯誤問題
 1)修改datadir指向的文件路徑
   1))複製默認指定路徑裏面的文件到新的指定路徑的文件夾中        

   2))修改指定的文件夾的修改權限

    2)配置apparmor權限
   1))查看apparmor的配置:# vi /etc/apparmor.d/usr.sbin.mysqld

   2))配置新路徑權限

    3)PATH變量指定的路徑中,搜索mysql的信息
  1))查看selinux的配置:# vi /etc/selinux/config 

  2))修改配置: SELINUX=disabled

3  版權區

  •    轉載博客,必須註明博客出處
  •    博主網址:http://www.cnblogs.com/wangjiming/
  •    如您有新想法,歡迎提出,郵箱:2098469527@qq.com
  •   專業.NET之家技術QQ羣:490539956
  •   專業化Java之家QQ羣:924412846
  •   有問必答QQ羣:2098469527
  •   一對一技術輔導QQ:2098469527
相關文章
相關標籤/搜索