1.linux服务器 安装mysql:
apt-get install mysql-server #Root用户安装mysql以及相关服务
apt-get install mysql-client
apt-get install libmysqlclient-dev
安装mysql—server 要设置登录用户的密码。
如果在监听状态则表示安装成功。
netstat -tap | grep mysql
2.登录到数据库
mysql -u root -p
3.查看数据库
Show databases;
4.MySQL创建登录用户:
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'127.0.0.1' IDENTIFIED BY '1234' WITH GRANT OPTION;
创建用户、密码及权限范围 第一个 admin为用户名 @后为适用的主机,‘%’表示所有电脑都可以访问连接,第二个为密码
flush privileges;
立即生效。
6.查看系统数据库有没有刚刚创建的用户信息。
use mysql;
SELECT DISTINCT CONCAT('User: [', user, '''@''', host, '];') AS USER_HOST FROM user;
7.查看端口
mysql端口一般为3306。
show global variables like 'port';
8.查看端口,如果端口是开着的,但是还是连不上。
netstat -an | grep 3306
经过查看网上相关问题解决方案我发现3306端口绑定的IP地址是本地的127.0.0.1 ,那我们就在配置文件中注释掉BIND ADRESS这一项(此文件权限是readonly,用vim不能保存,用vi编辑,然后esc>shift+:>!wq就能保存了
vi /etc/mysql/mysql.conf.d/mysqld.cnf
然后重启sql服务
/etc/init.d/mysql restart
再检查下3306端口
netstat -an | grep 3306 再去端口扫描下3306就是开启状态。
9.接下来就是通过py文件连接到服务器的MYSQL,python2连接mysql的库MySQLdb,python3 连接mysql的库是PYmysql,我们以python3为例。 如果没有就安装 pip install pymysql
10. create databases
import pymysql
# 打开数据库连接
db = pymysql.connect("主机地址", "用户名", "密码", "要连接的数据库",port=3306,charset='utf8')
#端口号3306,utf-8编码,否则中文有可能会出现乱码。
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
#如果存在表则删除
#cursor.execute("DROP TABLE IF EXISTS Employee")
# 使用 execute() 方法执行 SQL 查询
sql='''CREATE TABLE Employee (
Id CHAR(20) NOT NULL,
Name CHAR(20),
Age INT,
SEX CHAR(1),
Salary FLOAT )'''
try:
cursor.execute(sql)
except Exception as e:
db.rollback()#如果出错就回滚并且抛出错误收集错误信息。
print("Error!:{0}".format(e))
finally:
db.close()
# 关闭数据库连接
11.增删改查操作;
import pymysql as mysql
#创建数据库连接对象。
db=mysql.connect("主机地址","用户名","密码","数据库名",port=3306,charset='utf8')
#使用 cursor() 方法创建一个游标对象cursor
cursor = db.cursor()
#SQL语句
sql="SELECT * FROM Employee"
try:
cursor.execute(sql)
results = cursor.fetchall() #获取全部结果集。 fetchone 查询第一条数据
if not results: #判断是否为空。
print("数据为空!")
else:
for row in results:
Id = row[0]
Name = row[1]
Age = row[2]
Sex = row[3]
Salary = row[4]
# 打印结果
print("id:{0}姓名:{1}年龄:{2}性别:{3}工资:{4}".format(Id,Name,Age,Sex,Salary))
except Exception as e:
db.rollback() #如果出错就会滚数据库并且输出错误信息。
print("Error:{0}".format(e))
finally:
db.close()#关闭数据库。
增删改查操作基本上相同。这是Mysql连接方式。
另外Pycharm携带了轻量级的数据库,如sqllite。