参考链接(亲测有效):http://jingyan.baidu.com/article/4f7d5712d5f8181a2019270e.html
安装5.7之前:要把5.5删除,删除方法链接:http://www.linuxidc.com/Linux/2013-04/82934.htm;
Ps:折腾了一早上,简直醉了,因为潜意识里不相信百度的技术文章,所以故意绕过排名第一的搜索结果,发现csdn的某篇各种不靠谱啊;安装各种报错啊,最好无奈死马当活马医,试了试百度的这篇安装,良心啊,5分钟搞定,看来要用发展的眼观看问题嘛~
———-步骤复制如下(修改了一些小错误)
一
先安装好操作系统
二
在MySQL官网上下载最新版的UbuntuLinux专用的Mysql。我这里下载的是:mysql-server_5.7.11-1ubuntu14.04_amd64.deb-bundle.tar。
三
解压文件 命令为:tar -xvf mysql-server_5.7.11-1ubuntu14.04_amd64.deb-bundle.tar.
四
解压开来后,一共有11个deb包,用sudo dpkg -i [包名]命令逐个安装,因为包与包中间存在依赖关系,这里安装有个先后顺序。
我的安装的顺序是:
1.mysql-common_5.7.11-1ubuntu14.04_amd64.deb
1.5 sudo dpkg-preconfigure mysql-community-server_5.7.14-1ubuntu14.04_amd64.deb (这一步略不一样)
在弹出页面输入root密码
2.libmysqlclient20_5.7.11-1ubuntu14.04_amd64.deb
3.libmysqlclient-dev_5.7.11-1ubuntu14.04_amd64.deb
4.libmysqld-dev_5.7.11-1ubuntu14.04_amd64.deb
五
而后需要安装一个依赖包叫libaio1,命令为
sudo apt-get install libaio1
而后继续:
5.mysql-community-client_5.7.11-1ubuntu14.04_amd64.deb
6.mysql-client_5.7.11-1ubuntu14.04_amd64.deb
7.mysql-community-source_5.7.11-1ubuntu14.04_amd64.deb
六
这里需要再安装一个依赖包叫libmecab2,安装好后,继续安装最后一个:
8.mysql-community-server_5.7.11-1ubuntu14.04_amd64.deb
安装过程中需要设置数据库密码。
到这里,所有的已经安装完毕。输入Mysql -uroot-p可以登陆数据库了。
---------------------------------------转另一篇-------------------------------------
$whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/bin/X11/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
自动启动了服务进程
1.登录
root@py-server:/server/mysql# mysql -u root -p
输入密码即可登录。
2.配置
2.1 utf-8设置
root@py-server:/server# vi /etc/mysql/my.cnf
增加以下内容:
#以下是utf-8的设置
[client]
default-character-set = utf8
[mysqld]
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci
修改完成后重启mysql服务
root@py-server:/server# /etc/init.d/mysql restart
mysql> SET character_set_database = utf8 ;
mysql> show variables like '%char%';
+--------------------------+--------------------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.1.65-osx10.6-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)
看到utf8字样就表示编码设置正确。
如果还是乱码,可能是数据库建立的时候编码不是utf8,先用set names gbk;解决,
根本方法是重新建立数据库,改好编码,再导入。
2.2 远程访问mysql
登录进数据库:【注意:-p123456需要把123456改成你自己的密码】
>mysql -uroot -p123456
然后,切换到数据库mysql。SQL如下:
use mysql;
接着上面,删除匿名用户后,给root授予在任意主机(%)访问任意数据库的所有权限。SQL语句如下:
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.03 sec)
2.3 mysql的python驱动
http://dev.mysql.com/downloads/connector/python/
http://dev.mysql.com/downloads/file/?id=458927
root@py-server:/server# dpkg -i mysql-connector-python_2.1.3-1ubuntu14.04_all.deb
一旦上边的安装后python下import mysql报错,可以试试 pip install mysql-connector-python
还是报错的话,就要自己下zip包安装,实测是可行的。
参考:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320107391860b39da6901ed41a296e574ed37104752000的hi4gf评论内容:
wget https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.1.3.zip
unzip mysql-connector-python-2.1.3.zip
cd mysql-connector-python-2.1.3
python setup.py install
>>>import mysql
2.4 设置数据路径
没弄。。
默认是 /var/lib/mysql
修改方法参考:
http://www.educity.cn/wenda/399471.html
http://blog.youkuaiyun.com/zero_295813128/article/details/51258568
2.5 mysql数据库重启命令
启动:sudo /etc/init.d/mysql start
停止:sudo /etc/init.d/mysql stop
重启:sudo /etc/init.d/mysql restart
3 python访问mysql
参考:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320107391860b39da6901ed41a296e574ed37104752000
# 导入MySQL驱动:
>>> import mysql.connector
# 注意把password设为你的root口令:
>>> conn = mysql.connector.connect(user='root', password='password', database='test', use_unicode=True)
>>> cursor = conn.cursor()
# 创建user表:
>>> cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')
# 插入一行记录,注意MySQL的占位符是%s:
>>> cursor.execute('insert into user (id, name) values (%s, %s)', ['1', 'Michael'])
>>> cursor.rowcount
1
# 提交事务:
>>> conn.commit()
请注意一定要有conn.commit()这句来提交事务,要不然不能真正的插入数据。
http://www.cnblogs.com/rollenholt/archive/2012/05/29/2524327.html
>>> cursor.close()
# 运行查询:
>>> cursor = conn.cursor()
>>> cursor.execute('select * from user where id = %s', ('1',))
>>> values = cursor.fetchall()
>>> values
[(u'1', u'Michael')]
# 关闭Cursor和Connection:
>>> cursor.close()
True
>>> conn.close()
由于Python的DB-API定义都是通用的,所以,操作MySQL的数据库代码和SQLite类似。
MySQL的SQL占位符是%s;
通常我们在连接MySQL时传入use_unicode=True,让MySQL的DB-API始终返回Unicode