2

更新

apt-get update
apt-get upgrade

安装

apt-get install mysql-server 会提示输入root用户的密码

修改编码格式

查看编码: SHOW VARIABLES LIKE 'character_set_%'

编辑文件 /etc/mysql/mysql.conf.d/mysqld.cnf

在 [mysqld]标签下加

character-set-server = utf8
lower_case_table_names = 1  #表名大小写不敏感

如果想让其他机子远程也可以登陆需要把这句注释掉(前面加#)

bind-address        = 127.0.0.1

开启root的远程登录权限

Grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;

修改账户密码

UPDATE mysql.user SET password=PASSWORD('root') WHERE user='root';
flush privileges;

配置不配置都行

在 [mysqld]标签下加

character-set-server = utf8
collation-server = utf8_general_ci
init_connect = 'SET collation_connection = utf8_general_ci'
init_connect = 'SET NAMES utf8'
lower_case_table_names = 1  #表名大小写不敏感

# 注意:在 [mysqld] 下加 `default-character-set = utf8` 可能会导致某些版本的 mysql 无法登陆

在 [mysql.server]标签下加
default-character-set = utf8

在 [mysqld_safe]标签下加
default-character-set = utf8

在 [client]标签下加
default-character-set = utf8

archlinux

安装 pacman -S mysql
然后执行 mysql_install_db --user=mysql --ldata=/var/lib/mysql/ --basedir=/usr
如果有问题可以先删除 /var/lib/mysql

5.7

5.7 版本 insert、update 报错可以在配置文件下添加这行

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

查询sql_model

SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;

junbaor
847 声望36 粉丝

广泛涉略,快速学习