ubuntu16.04 運用mysql——Aliyun輕量級應用服務器上

1、安裝與卸載

1.1 安裝

ubuntu上安裝mysql非常簡單隻需要幾條命令就可以完成。

sudo apt-get install mysql-server          //服務端
sudo apt-get install mysql-client          //客戶端
sudo apt-get install libmysqlclient-dev    //程序編譯時鏈接的庫

mysql默認端口是3306

1.2 卸載

# step1:刪除MySQL服務器
sudo apt-get remove mysql-server
# step2:刪除隨MySQL服務器自動安裝的任何其他軟件
sudo apt-get autoremove
# step3:卸載其他組件
sudo apt-get remove (package-name)
# 查看從MySQL APT存儲庫安裝的軟件包列表
dpkg -l |grep mysql |grep ii

1.3 相關文件管理

通過這種方式安裝好之後開機自啓動都已經配置好,和命令行上的環境變量,無需手動配置。
安裝好後會創建如下目錄:
數據庫目錄: /var/lib/mysql
配置文件:/usr/share/mysql(命令行配置文件),/etc/mysql(如,my.conf)
相關命令: /usr/bin(mysqladmin,mysqldump等命令)和 /usr/sbin
啓動腳本:/etc/init.d/mysql(啓動腳本文件mysql的目錄)

2、數據庫的訪問

2.1 命令行訪問

# 啓動
sudo service mysql start
# 停止
sudo service mysql stop
#服務器狀態
sudo service mysql status

# 本地登錄數據庫
mysql -u root -p 
# -u 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,上面命令輸入之後會提示輸入密碼,此時輸入密碼就可以登錄到mysql。

# 遠程連接數據據
mysql -h 127.0.0.1 -P 3306 -u root -p 123456
# -h 爲遠程登錄,-P爲端口號,-u爲用戶名,-p爲密碼

# 服務器啓動後端口查詢
sudo netstat -anp |grep mysql

>> show databases;
>> use mysql;
>> show tables;

4.2 圖形界面訪問

Navicat——免費試用14天

在這裏插入圖片描述

HeidiSQL——開源

在這裏插入圖片描述

4.3 python/C++ 訪問

python2和python3訪問linux的安裝包不同
python3:
pip install PyMySQL
import pymysql

寫一個簡單的程序來訪問該數據庫,實現show tables 的功能;

import pymysql

conn = pymysql.connect("IP_addr", "root", "mysql_password", "database_name", charset = "utf8")

cursor = conn.cursor()

sql =  """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""

cursor.execute(sql)
cursor.close()
conn.close()

4.4 Django訪問

pip 安裝 mysqlclient 失敗
解決方法:
apt-get install libmysqlclient-dev python3-dev

(python36) root@ljpdev:/home/wk-api# apt-get install libmysqlclient-dev python3-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-dev is already the newest version.
The following packages were automatically installed and are no longer required:
  libdbi-perl libterm-readkey-perl
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libmysqlclient18 mysql-common
The following NEW packages will be installed:
  libmysqlclient-dev libmysqlclient18 mysql-common
0 upgraded, 3 newly installed, 0 to remove and 75 not upgraded.
Need to get 0 B/1,694 kB of archives.
After this operation, 9,390 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package mysql-common.
(Reading database ... 80571 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.5.62-0+deb8u1_all.deb ...
Unpacking mysql-common (5.5.62-0+deb8u1) ...
Selecting previously unselected package libmysqlclient18:amd64.
Preparing to unpack .../libmysqlclient18_5.5.62-0+deb8u1_amd64.deb ...
Unpacking libmysqlclient18:amd64 (5.5.62-0+deb8u1) ...
Selecting previously unselected package libmysqlclient-dev.
Preparing to unpack .../libmysqlclient-dev_5.5.62-0+deb8u1_amd64.deb ...
Unpacking libmysqlclient-dev (5.5.62-0+deb8u1) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up mysql-common (5.5.62-0+deb8u1) ...
Setting up libmysqlclient18:amd64 (5.5.62-0+deb8u1) ...
Setting up libmysqlclient-dev (5.5.62-0+deb8u1) ...
Processing triggers for libc-bin (2.19-18+deb8u10) ...

安裝好後,就好使了
pip install mysqlclient

(python36) root@ljpdev:/home/wk-api# pip install mysqlclient
Collecting mysqlclient
  Downloading https://mirrors.aliyun.com/pypi/packages/f4/f1/3bb6f64ca7a429729413e6556b7ba5976df06019a5245a43d36032f1061e/mysqlclient-1.4.2.post1.tar.gz (85kB)
    100% |████████████████████████████████| 92kB 47.8MB/s
Installing collected packages: mysqlclient
  Running setup.py install for mysqlclient ... done
Successfully installed mysqlclient-1.4.2.post1
You are using pip version 9.0.1, however version 19.2.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

5、外網無法訪問Aliyun服務器上的mysql數據庫

考慮四個因素:

  • 1、Aliyun自帶防火牆,其3306端口是否對外開放
    在這裏插入圖片描述
  • 2、Aliyun服務器的防火牆是否開放
    在這裏插入圖片描述
  • 3、mysql中的user是否授權其他主機連接
    在這裏插入圖片描述
  • 4、mysql服務器的配置是否更改
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章