美文网首页
Ubuntu配置环境4:安装MYSQL,并将数据库文件路径设置为

Ubuntu配置环境4:安装MYSQL,并将数据库文件路径设置为

作者: 晓函 | 来源:发表于2016-09-27 20:46 被阅读148次

安装mysql-server

apt-get install mysql-server

mysql数据库默认用户为root,安装过程中会要求你设置数据库密码。

修改数据库文件路径

安装完成了之后,我们可以开始将数据库文件路径设为数据盘,这样数据安全一些,重装系统后数据也还在

#创建新目录,我这里的mnt是数据盘
mkdir -p /mnt/data/mysql
#复制以前的数据库文件过来
cp -R /var/lib/mysql/* /mnt/data/mysql
#设置权限
chown -R mysql:mysql /mnt/data/mysql

修改mysql配置文件

#打开配置文件
vi /etc/mysql/my.cnf  
#找到下面这项并修改
datadir  = /mnt/data/mysql

修改启动配置

#打开配置文件
vi /etc/apparmor.d/usr.sbin.mysqld  
  
#在配置文件中找到下面的项  
/var/lib/mysql r  
/var/lib/mysql/** rwk  
#修改成  
/mnt/data/mysql r  
/mnt/data/mysql/** rwk,  

经过以上设置,数据库文件就在/mnt/data/mysql下了,重启mysql服务后生效。

service apparmor restart
service mysql restart

统一编码为UTF-8

统一编码很重要,否则会因为数据库的编码、表的编码、插入/查询数据的编码不一致而导致错误,务必统一编码后再执行创建数据库、创建表等操作。
如图:

Paste_Image.png

运行结果提示
Error: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
意思是说:操作符“=”比较的字符集不一致,一个是latin1_swedish_ci,一个是utf8_general_ci。
因为表的数据编码是latin1_swedish_ci,filter_by()查询传入的字符串又是utf8_general_ci。

mysql5.1和5.5的配置修改[mysqld]标签下的是不一样的,我的环境是mysql5.5.52,本文所有配置都自己实测过而写的。
开始修改mysql默认编码,

#5.6及以下版本 打开配置文件
vi /etc/mysql/my.cnf  

#在下面的标签中找到修改或添加这几个项
[client]
    default-character-set=utf8
[mysql]
    default-character-set=utf8
[mysqld]
    character-set-server=utf8

#5.7版本打开
vi /etc/mysql/mysql.conf.d/mysqld.cnf
#在下面的标签中找到修改或添加这几个项
[mysqld]
    character-set-server=utf8

vi /etc/mysql/conf.d/mysql.cnf
#在下面的标签中找到修改或添加这几个项
[mysql]
    default-character-set=utf8

重启服务生效。

service apparmor restart
service mysql restart

================

新建数据库

安装好后是没有数据库的,我们需要新建一个我们项目所使用的数据库
连接数据库

mysql -u root -p

会提示输入数据库密码,按回车确认。

进入mysql控制台后就可以输入mysql命令了

#查看数据库
show databases;
#创建数据库
create database wapian;
#如果想删掉某个数据库
drop database xxxx;
Paste_Image.png

还有其他的命令如use wapian;show tables;等自己去查吧

查看数据库各表的编码

#切换到项目数据库
use wapian
SHOW VARIABLES LIKE 'collation_%';
SHOW VARIABLES LIKE 'character_set_%';

这是未统一编码的数据库和表

Paste_Image.png

有latin1_swedish_ci和utf8_general_ci,所以肯定会出错。
由于仓促,导致没有统一编码,使用数据库时各种错误,所以我直接用前面提到的方法,修改mysql配置文件,统一编码为utf8.
然后进入mysql控制台,输入以下命令,重新建数据库

drop database wapian
create database wapian

再次查看编码,完全统一了。

Paste_Image.png

连接字符串

如果是使用flask-sqlalchemy和pymysql连接mysql
连接字符串可以这样设置:

SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:mypassword@localhost:3306/wapian'

相关文章

网友评论

      本文标题:Ubuntu配置环境4:安装MYSQL,并将数据库文件路径设置为

      本文链接:https://www.haomeiwen.com/subject/yyqhyttx.html