#!/usr/bin/python
#coding:utf-8
# python 操作mysql数据库
###########################################################################################
一.安装msyql;
1.安装包的下载:
下载地址:
2.安装mysql:
1.安装mysql的依赖包:
yum -y install cmake automake make autoconf
yum install gcc gcc-c++ autoconf bison automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* -y
2.mysql安装包的下载:
3.mysql安装:
tar -zxvf mysql-5.5.28.tar.gz #解压安装包
cd mysql-5.5.28
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DMYSQL_TCP_PORT=3306
make && make install
4.mysql 安装配置
cmake —————————————> mysql的编译工具
-DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql \ # 对应php的安装安装路路径 也对应nginx的路径 (原因是便于管理)
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ #socket 链接的保存路径
-DMYSQL_DATADIR=/data/mysql/ \ # 对应数据库的保存路径
mysql官网英文文档简单翻译说明一下
The MyISAM, MERGE, MEMORY, and CSV engines are mandatory (always compiled into the server) and need not be installed explicitly.(说明:mysql默认支持的数据库引擎有MyISAM, MERGE, MEMORY, CSV,无需在编译时再声明)
所以上面的编译条件省掉了如下两行
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
但INNODB一定要声明式安装,所以多了这一行
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
查看mysql.mysql的用户及组是否存在
5.创建mysql的用户组:
不OK就执行以下两行命令(否则跳过这一步)
groupadd mysql #添加mysql用户组
useradd mysql -g mysql -s /sbin/nologin # 添加mysql用户
cd /usr/local/webserver/mysql # 进入刚刚安装目录 -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql
scripts/mysql_install_db --user=mysql --basedir=/usr/local/webserver/mysql(制定安装的目录) #将mysql目录赋予mysql用户的执行权限
chown mysql:mysql -R /data/mysql # 如果/data/mysql 不存在创建这个目录
cp support-files/my-medium.cnf /etc/my.cnf #mysql配置文件
chmod 755 scripts/mysql_install_db #赋予mysql_install_db执行权限
6.以下命令为mysql 启动及自启动配置
scripts/mysql_install_db --user=mysql --basedir=/usr/local/webserver/mysql --datadir=/data/mysql/ #记住要对应好安装目录
cp support-files/mysql.server /etc/init.d/mysqld #启动项项的移动
vim /etc/init.d/mysqld
检查下面几个地方配置是否正确
############################
basedir=/usr/local/webserver/mysql
bindir=/usr/local/webserver/mysql/bin
datadir=/data/mysql
sbindir=/usr/local/webserver/mysql/bin
libexecdir=/usr/local/webserver/mysql/bin
###########################
chmod 755 /etc/init.d/mysqld #修改权限
7.设置开机启动项:
查看mysqld服务是否设置为开机启动
chkconfig --list|grep mysqld
设置为开机启动
chkconfig mysqld on
启动mysql数据库,会输出一系列有用的信息,告诉你接下去如何初始化mysql
service mysqld start
8.客户端的访问数据库:
/usr/local/webserver/mysql/bin/mysql -u # shell 输入的命令
3.如果要是不是本机操作msyql的话,应该设置一下非本访问:
#######################################
设置完成后重新启动mysql
在用 mysql -h localhost -uroot -p 进入数据库执行
GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by 'password' (允许任何ip访问)
设置指定ip访问的方法
GRANT ALL PRIVILEGES ON *.* TO root@'192.168.1.110' identified by 'password' (只允许192.168.1.110这台访问)
补充
修改面俩个(允许ip访问限制)只能在本机上面使用 mysql -h localhost -uroot -p 这个命令进行修改
修改数据库密码
update user set password=password("new_passwd") where user="root";
设置上面重启mysql
#########################################
4.安装MySQLdb驱动:
windows下载地址:http://down1.cr173.com//soft1/MySQL-python.rar
直接安装就可以了
5.进入msyql开始创建数据库:
创建utf-8的数据库:
mysql> create database new_db default character set utf8;
msyql p配置就这样了,下面是python操作mysql
###########################################################################################
python操作mysql