Ubuntu16.04環境下Mysql5.7服務器搭建教程

###Ubuntu16.04下Mysql5.7服務器搭建部署教程
```
##Mysql5.7鏡像下載以及安裝
1.mkdir /data/software //創建文件夾


2.cd /data/software //進入software文件夾


3.wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz //官網或者搜狐鏡像下載http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-
5.7.17-linux-glibc2.5-x86_64.tar.gz 安裝數據庫壓縮包


4.tar -xzvf /data/software/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz //解壓縮文件


5.mv /data/software/mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql //移動並修改文件名


6.mkdir /data/mysql //創建數據倉庫目錄


7.groupadd mysql //新建一個mysql用戶組


8.useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql //新建mysql用戶、組及目錄(新建msyql用戶禁止登錄shell)


9.改變目錄屬有者
(1)cd /usr/local/mysql //進入mysql安裝目錄
(2)pwd //查看當前目錄徑路
     chown -R mysql . //修改目錄屬有者
     chgrp -R mysql . //修改目錄組屬有者
     chown -R mysql /data/mysql


10.配置參數
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
注意:這塊指令可能會報錯(cannot open shared object file: No such file or directory。)
解決辦法: apt-get install libaio-dev
命令執行完畢在最後一行root@localhost:之後是數據庫mysql第一次初始密碼,此處需要注意記錄生成的臨時密碼,如上文結尾處的:o+Am+9s1Lyeh


11.bin/mysql_ssl_rsa_setup  --datadir=/data/mysql


12.修改系統配置文件
(1)cd /usr/local/mysql/support-files //進入系統配置文件目錄下
(2)cp my-default.cnf /etc/my.cnf //將mysql的.cnf配置加載文件複製並放到/etc/文件夾下並更名
(3)cp mysql.server /etc/init.d/mysql //將myql的.server啓動服務器文件複製並放到/etc/init.d/文件夾下並更名
(4)vi /etc/init.d/mysql //用vi打開mysql服務器配置文件並進行編輯,編輯內容如下:
esc
:/basedir
內容:
basedir=/usr/local/mysql
datadir=/data/mysql


13.啓動mysql
(1)/etc/init.d/mysql start
注意:此處會報錯(Failed to start mysqld.service: Unit not found)
原因:
瞭解到MariaDB代替了mysql數據庫,MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社區採用分支的方式來避開這個風險,因此用上述命令啓動不起來.
解決方法一:
(1)apt install mariadb-server //安裝mariaDb
(2)systemctl start mariadb.service //啓動服務  
(3)systemctl enable mariadb.service //開機啓動服務
方法二:/etc/systemd/system/mysqld.service 添加Unit,既然錯誤提示找不到Unit那我們添加一個就好了。在 /etc/systemd/system/mysqld.service下添加如下內容
[Unit]  
Description=MySQL Server  
After=network.target  
  
[Service]  
ExecStart=/usr/bin/mysqld --defaults-file=/etc/mysql/my.cnf --datadir=/var/lib/mysql --socket=/var/run/mysqld/mysqld.sock User=mysql  
Group=mysql  
WorkingDirectory=/usr  
  
[Install]  
WantedBy=multi-user.target
然後運行
systemctl daemon-reload
刷新緩存
這樣我們就可以用
systemctl start mysql.service  啓動mysql了



14.登錄mysql數據庫
(1)mysql -hlocalhost -uroot -p


注意:(如果出現:-bash: mysql: command not found 就執行: # ln -s /usr/local/mysql/bin/mysql /usr/bin --沒有出現就不用執行)


(2)輸入第10步生成的臨時密碼


16.set password=password('root');//修改密碼


17.設置root賬戶的host地址以及登錄密碼(修改了纔可以遠程連接)
(1)grant all privileges on *.* to 'root'@'%' identified by 'root'; //賬號爲root密碼也爲root
(2)flush privileges;
提示:flush privileges 命令本質上的作用是將當前user和privilige表中的用戶信息/權限設置從mysql庫(MySQL數據庫的內置庫)中提取到內存裏。MySQL用戶數據和權限有修改後,希望在"不重啓MySQL服務"的情況下直接生效,那麼就需要執行這個命令。通常是在修改ROOT帳號的設置後,怕重啓後無法再登錄進來,那麼直接flush之後就可以看權限設置是否生效。而不必冒太大風險。


18.遠程計算機連接數據庫並測試
使用軟件MySQL Workbench 6.3 CE輸入數據庫服務器ip地址賬號密碼連接並登錄數據庫
注意:可能會出現10061錯誤,解決辦法:在服務端MySQL文件夾下找到my.ini(windows環境)或者my.cnf(linux環境)文件(如果使用mariadb啓動的mysql則找到/etc/mysql/mariadb.conf.d路徑下的50-server.cnf配置文件)將內容中的bind-address = 127.0.0.1配置信息用#註釋掉,然後重啓mysql服務/etc/init.d/mysql restart 現在便可以遠程訪問並連接到數據庫.


19.mysql系統環境變量配置
(1)vi /etc/profile //打開並編輯配置文件
(2)export PATH=/usr/local/mysql/bin:$PATH //添加mysql環境變量路徑
(3)source /etc/profile //使環境變量配置文件生效


20.配置mysql自動啓動
(1)chmod 755 /etc/init.d/mysql
(2)sysv-rc-conf mysql on //開啓mysql服務自啓
提示:
安裝sysv-rc-conf
sudo apt-get install sysv-rc-conf
安裝完成後,直接運行sudo sysv-rc-conf 命令即可打開該管理軟件 操作界面十分簡潔,你可以用鼠標點擊,也可以用鍵盤方向鍵定位,用空格鍵選擇, “X”表示開啓該服務。 用Ctrl+N翻下一頁,用Ctrl+P翻上一頁,用Q退出。 也可以直接加入啓動程序,例如把 /etc/init.d/red5 加入到系統自動啓動列表中: sudo sysv-rc-conf red5 on







補充:


--退出mysql命令窗口


#exit


 --查看mysql狀態


#service mysql status


--停止mysql


#service mysql stop


--啓動mysql


#service mysql start


附my.cnf(這是一個配置mysql配置文件,如你想鑽研 你可以百度或google “mysql my.cnf 配置詳情”)
這裏只對mysql開發最常見的一個配置問題做介紹:
當一個項目組開發的人數越來越多時,數據庫的連接數就會越來越多然後超過了 MySQL 設置的數據庫連接數最大值,這是就會報錯,1040錯誤提示“too many connections”
這是我們第一步要想到的是看看數據庫中連接數設置是否過小過小的話進入vi /etc/my.cnf配置文件進行打開並編輯在配置文件中加入max_connections = 1000此配置內容.

如果數據庫還是經常斷開,這是我們就該採取像durid數據連接池這樣的緩存配置對數據庫連接進行合理分配以及監控.

show variables like '%max_connections%'; 查看最大連接數
set global max_connections=1000 重新設置

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