#1. 安装MySQL

1
sudo apt-get install mysql-server
  1. 终端输入

    sudo netstat -tap | grep mysql 测试是否安装成功

  2. 通过登录MySQL测试

    在终端输入 mysql -uroot -p 接下来会提示你输入密码,输入正确密码,即可进入。

退出命令:quit或者exit

  • 从所有主机:grant all privileges on . to root@”%” identified by “password” with grant option;
  • 从指定主机:grant all privileges on . to root@”172.30.3.100” identified by
    “password” with grant option; flush privileges;
  • 进mysql库查看host为%的数据是否添加:use mysql; select * from user;
  • 远程登录mysql:mysql -h ip -u user -p

#2. MySQL的一些简单操作

  • 启动MySQL服务: sudo start mysql
  • 停止MySQL服务: sudo stop mysql
  • 修改 MySQL 的管理员密码: sudo mysqladmin -u root password newpassword
  • 设置远程访问(正常情况下,mysql占用的3306端口只是在IP 127.0.0.1上监听,拒绝了其他IP的访问(通过netstat可以查看到)。取消本地监听需要修改 my.cnf 文件:
1
2
sudo vi /etc/mysql/my.cnf
bind-address = 127.0.0.1 //找到此内容并且注释
  • 显示所有的数据库:
1
mysql> show databases;
  • 显示库中所有的表:
1
mysql>show tables;
  • 修改mysql最大连接数:
1
/etc/mysql/my.cnf,增加或修改max_connections=1024
  • 创建数据库,创建user:

    create database db_name;

1
2
3
1) 建库:create database test;
2) 建用户,赋权:grant all privileges on test.* to user_test@"%" identified by "password" with grant option;
3)删除数据库:drop database test;
  • 使用数据库

    use db_name

  • 显示表的结构

    describe db;

  • 删除权限:
1
2
3
4
1) revoke all privileges on test.* from user_test@"%";
2) use mysql;
3) delete from user where user="user_test" and host="%";
4) flush privileges;
  • 设置字符集(以utf8为例)
1
2
3
4
5
6
7
8
1. 在mysql里面查看当前的编码:show variables like 'character%';
2. 然后修改my.cnf,在终端输入命令 sudo gedit /etc/mysql/my.cnf
重新启动mysql :sudo restart mysql
启动mysql sudo start mysql
检查 mysqld 进程是否已经开启,可以使用下面的命令:
pgrep mysqld

#3. MySQL安装后的目录结构分析(此结构只针对于使用apt-get install 在线安装情况):

数据库存放目录:               /var/lib/mysql/

相关配置文件存放目录:          /usr/share/mysql

相关命令存放目录:             /usr/bin(mysqladmin mysqldump等命令)

启动脚步存放目录:            /etc/rc.d/init.d/

#4. mysql的配置
MySQL配置文件:/etc/mysql/my.cnf ,其中指定了数据文件存放路径
datadir = /var/lib/mysql
如果你创建了一个名为 test 的数据库,那么这个数据库的数据会存放到
/var/lib/mysql/test 目录下。

#5. 远程访问mysql
如果你想进行远程访问或控制,那么你要做两件事:
其一:

1
mysql>GRANT ALL PRIVILEGES ON test.* TO user_test@"%" IDENTIFIED BY "password";

允许user_test用户可以从任意机器上登入MySQL。
其二:

1
2
3
$sudo gedit /etc/mysql/my.cnf
>bind-address=127.0.0.1 => bind-address= 你机器的IP
这样就可以允许其他机器访问MySQL了。

#5. 一些无法登陆的错误解决

  1. 修改编码后导致mysql无法启动
    Ubuntu 14.04 MySQL改utf-8 启动不了
1
2
3
4
5
//修改信息及报错情况
default-character-set=utf8
报错:
start mysql. The restart(8) utility is also available.
start: Job failed to start

改用另一种修改编码的方式

1
2
3
4
5
6
7
On MySQL 5.5 I have in my.cnf
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
  1. 权限问题导致mysql无法启动,
    在linux中权限是个很重要的东西,所以大多数据mysql无法启动都与
    权限有问题
1
2
3
4
错误提示
World-writable config file ‘/opt/lampp/etc/my.cnf’ is ignored
[ERROR] Fatal error: Can’t change to run as user ’mysql’ ;
Please check that the user exists!

进入lampp/etc/把my.cnf的权限改为755 重启lampp,正常。同理,把phpmyadmin的权限也改成755即可。
至此,问题全部解决。
PS:出于安全考虑,xampp不允许将mysql和phpmyadmin的权限范围设为最大,在安装时注意不要把整个
lampp目录的权限设为777。

#6. 安装MySQL-python

  1. 方法一
    要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块。

    下载地址:https://pypi.python.org/pypi/MySQL-python/

下载MySQL-python-1.2.5.zip 文件之后直接解压。进入MySQL-python-1.2.5目录:

python setup.py install

  1. 方法二
    使用pip安装

    sudo apt-get install python-pip

然后使用pip进行安装
sudo pip install mysql-python

##6.1 安装过程中会遇到mysql_config not found

  1. 用whereis mysql_config 查找mysql_config ,如果有,跳过2,执行3。
  2. 安装mysql-dev:
    sudo apt-get install libmysqlclient-dev
  3. 将site.cfg中的mysql_config = /usr/local/mysql/bin/mysql_config 这一行前的#去掉,并且把mysql_config的路径设置正确。

##6.2 安装过程中遇到问题 _mysql.c:29:20: fatal error: Python.h: No such file or directory

  1. 需要安装python-dev:
    sudo apt-get install python-dev
    参考:http://www.cyberciti.biz/faq/debian-ubuntu-linux-python-h-file-not-found-error-solution/

mysql安装指南

#7. 安装tornado

1.下载源码:https://github.com/bdarnell/torndb
2.解压文件:
unzip torndb-master.zip
3.进入安装目录:
cd torndb-master/
4.编译:
python setup.py build
5.安装:
sudo python setup.py install
6.测试是否安装成功,在python命令行下:
import torndb
效果:

1
2
3
4
5
6
7
>>> import torndb
>>> mdb = torndb.Connection('127.0.0.1:3306', 'db_name', 'user_name', 'user_pass', max_idle_time=5)
>>> mdb
<torndb.Connection object at 0x2724ed0>
>>> mdb._ensure_connected()
>>> mdb.query("SELECT * from test")
[{'id': 1L, 'name': u'chenjf'}]

python博客

#8.配置mysql
运行命令 django-admin.py startproject mysite
在mysite/mysite下有文件setting.py

1
2
3
4
5
6
7
8
9
10
11
//修改默认服务器设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #设置为mysql数据库
'NAME': 'dmyz', #mysql数据库名
'USER': 'root', #mysql用户名,留空则默认为当前linux用户名
'PASSWORD': '', #mysql密码
'HOST': '', #留空默认为localhost
'PORT': '', #留空默认为3306端口
}
}
1
2
//配置后台超级用户
python manage.py syncdb