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服務器的配置是否更改