Linux下安装并使用MySQL数据库
生活随笔
收集整理的這篇文章主要介紹了
Linux下安装并使用MySQL数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
注意:如果是配合python使用的話,連接數據庫的時候注意python2使用的是mysqldb,python3使用的是pymysql。詳細看第三點。
一,首先設置安全組
開放MySQL的默認端口3306
二,安裝MySQL服務
在官網查找最新版本的下載鏈接:
https://dev.mysql.com/downloads/repo/yum/
2.1 在linux下載MySQL源:
wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm2.2 在linux安裝MySQL源
yum -y localinstall mysql80-community-release-el7-1.noarch.rpm2.3 安裝MySQL
yum -y install mysql-community-server2.4 啟動MySQL
systemctl start mysqld啟動沒有報錯,看一下狀態:
systemctl status mysqld.service2.5 設置開機啟動
systemctl enable mysqld systemctl daemon-reload2.6 查看數據庫的初始密碼
cat /var/log/mysqld.log | grep password2.7 登錄進入數據庫
mysql -uroot -p密碼用上面查到的密碼,直接復制粘貼,不會顯示出密碼的。
2.8 修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';修改成功之后,通過 exit; 命令退出 MySQL,然后通過新密碼再次登陸。
2.9 通過以下命令,進行遠程訪問的授權
create user 'root'@'%' identified with mysql_native_password by '你的密碼';grant all privileges on *.* to 'root'@'%' with grant option;flush privileges;2.10 配置默認編碼為UTF-8
修改/etc/my.cnf配置文件,在[mysqld]下添加編碼配置,如下所示:
character_set_server=utf8init_connect='SET NAMES utf8'2.11 重啟mysql服務
systemctl restart mysqld2.12 查看下編碼
mysql> show variables like '%character%';最后(看需要操作,我的是在安全組設置了開放3306端口這里我就不用設置了)
systemctl status firewalld systemctl start firewalld輸入下面命令,開放3306端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload注意:可能會出現的問題1:端口被占用問題(Address already in use)
當我們不小心異常關閉導致了之前的端口,實際上仍未被釋放,這時候倘若我門想要再使用這個端口,就會拋出 “error:[Errno 98] Address already in use” 這樣的異常。
這時候我們只需要找到正在利用這個端口的進程,并得到這個進程的PID,殺死這個PID對應的這個進程,就能夠有效釋放被占用的端口,后續再使用的時候就不會再拋出端口已經被占用的異常信息。
找到被占用的指定端口號所對應的進程信息并呈現,括號處填寫對應要查找的端口號:
4.關閉這個進程(PID):
sudo kill (PID)三,python 3.7 安裝pymysql及用法
3.1 安裝pymysql
pip install PyMySQL
3.2 django項目連接pymysql數據庫
views.py文件中:
import pymysql.cursors config = {'host': '服務器公網ip','port': 3306,'user': '數據庫用戶名','password': '數據庫密碼','db': '數據庫名','charset': 'utf8','cursorclass': pymysql.cursors.DictCursor,'autocommit': True, }connection = pymysql.connect(**config) def index(request):with connection.cursor() as cursor:sql = 'INSERT INTO project (id, name, domain_id, man,cluster_id,update_time,create_time,description) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)'cursor.execute(sql, (str(uuid.uuid4()), "test", str(uuid.uuid4()), 'jiankunking', 'QD',now, now, '這是一條測試數據'));connection.commit()connection.close();注意連接數據庫的時候需要配置:
'autocommit': True,沒有這個就會出現pymysql查詢不到表中最新插入的數據的問題。詳細看:https://www.jianshu.com/p/cc8561dac9ee
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Linux下安装并使用MySQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rm删除文件显示:Operation n
- 下一篇: Windows下安装并使用MySQL数据