Ubuntu 16.04 MySQL 的安装与配置

一、安装

首先执行下面三条命令安装:

$ sudo apt install mysql-server
$ sudo apt install mysql-client
$ sudo apt install libmysqlclient-dev

中间会有让设置 root 账户密码,设置即可。

验证是否安装成功:

$ sudo netstat -tap | grep mysql

出现类似以下信息,说明安装成功:

tcp        0      0 localhost:mysql         *:*                     LISTEN      1327/mysqld 

可以通过以下命令登入 MySQL root 账户:

$ mysql -uroot -p  # 然后输入密码

二、配置

  1. 修改字符编码

MySQL 默认的字符编码方式为 latin1 , 可能会出现中文乱码的问题,所以这里把字符编码更改为 utf-8 避免以后出现乱码问题。

注: 这是在 Ubuntu 16.04 、MySQL 5.7 的环境下进行的。Ubuntu 版本 或 MySQL 版本的不同可能会出现配置文件路径也不同的情况。(后面有我的配置文件路径寻找过程,如果不同,可以参照一下方法,找到自己的路径)

先说解决方法:

修改 /etc/mysql/mysql.conf.d/mysqld.cnf 文件:

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

作出以下修改:

#在[client]段增加下面代码
default-character-set=utf8
    
#在[mysqld]段增加下面的代码
character-set-server=utf8
collation-server=utf8_general_ci

表名不区分大小写:

#在[mysqld]段增加下面的代码
lower_case_table_names=1

然后重启 MySQL 服务即可:

$  sudo service mysql restart # 重启服务
$  systemctl status mysql.service # 查看状态

成功重启后,登录 MySQL 查看字符编码:

    $ mysql -uroot -p  # 输入密码
    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/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)

修改成功。

再说 MySQL 配置文件的寻找过程:

先是在网上搜索,说是配置文件在是 /etc/my.cnf , 不过我并没有找到这个文件,于是通过以下命令查看 mysql 所在目录:

$ whereis mysql
sql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

可以看到在 /etc/mysql , 猜测应该是在这个里面, 于是进入该目录,并用 ls 命令查看所含文件

$ cd /etc/mysql
$ ls
conf.d        debian.cnf      my.cnf           mysql.cnf
debian-start  debian.cnf-5.7  my.cnf.fallback  mysql.conf.d

找到了 my.cnf 文件,打开编辑:

$ sudo vim my.cnf

发现 my.cnf 内容如下( mysql.cnf 也是的):

# 前面一大堆都是注释,省略了...
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

于是就进入 /etc/mysql/conf.d/ 目录

$ cd conf.d 
$ ls
mysql.cnf  mysqldump.cnf

打开 mysql.cnf ( "/etc/mysql/conf.d/mysql.cnf" ) 发现依然不是要找的文件
接下来就进入 /etc/mysql/mysql.conf.d/ 文件夹:

$ cd ..
$ cd mysql.conf.d
$ ls
mysqld.cnf  mysqld_safe_syslog.cnf

打开 mysqld.cnf ( "/etc/mysql/mysql.conf.d/mysql.cnf" )发现就是要找的文件,作出以下修改:

#在[client]段增加下面代码
    
default-character-set=utf8
    
#在[mysqld]段增加下面的代码
    
#default-storage-engine=INNODB #置默认存储引擎为InnoDB,此处可不必添加
    
character-set-server=utf8
    
collation-server=utf8_general_ci

保存退出后,重启 MySQL 服务...

$ sudo service mysql restart # 重启服务
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容