Ubuntu 中 MySQL 卸载、重装以及编码问题

WBOY
发布: 2016-06-07 16:31:47
原创
1110 人浏览过

最近Ubuntu中的MySQL出了点问题,网上找了N久也没找到答案,于是华丽的将它卸载重装。当然,如标题所写,这里还有涉及到编码问题。 卸载 当初安装时用的是: sudo apt-get install mysql-server mysql-client 于是相应的卸载应该是: sudo aptitude purge mysq

最近Ubuntu中的MySQL出了点问题,网上找了N久也没找到答案,于是华丽的将它卸载重装。当然,如标题所写,这里还有涉及到编码问题。

卸载

当初安装时用的是:

sudo apt-get install mysql-server mysql-client
登录后复制
登录后复制

于是相应的卸载应该是:

sudo aptitude purge mysql-server mysql-client
登录后复制

其实我也有尝试用新立得软件管理器来卸载,再次安装的时候却被跳过设置root密码的步骤,应该是卸载的不完全吧?但是不管怎样我用上面的命令卸载之后重新安装正常。

安装 MySQL

sudo apt-get install mysql-server mysql-client
登录后复制
登录后复制

是的,依然是原来安装的方式,需要输入root的密码并确认一次。但是当我安装完成之后发现无法使用sudo /etc/init.d/mysql restart来重启以及启动、停止,出现以下提示:

luo@luo-ubuntu:~$ sudo /etc/init.d/mysql restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart mysql
mysql start/running, process 3942
luo@luo-ubuntu:~$ sudo /etc/init.d/mysql restartRather than invoking init scripts through /etc/init.d, use the service(8)utility, e.g. service mysql restart
Since the script you are attempting to invoke has been converted to anUpstart job, you may also use the restart(8) utility, e.g. restart mysqlmysql start/running, process 3942
登录后复制

于是参照提示使用以下命令行来重启、启动、停止Mysql:

sudo restart mysql
sudo start mysql
sudo stop mysql
登录后复制

编码

网上有流传说Mysql的默认编码是latin1,我之前的Mysql也是,但是当我重装完成之后进入Mysql使用:show variables like “character_set%”; ,結果如下:

mysql> show variables like 'character%';
+--------------------------+----------------------------+
| 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编码的方法记录一下。

首先,进入Mysql使用 show variables like ‘character%’;查看,如果执行编码显示:

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
登录后复制

说明需要修改编码,修改/etc/mysql/my.cnf文件:

找到客户端配置[client] 在下面添加

default-character-set=utf8 默认字符集为utf8
登录后复制

在找到[mysqld] 添加

default-character-set=utf8
init_connect='SET NAMES utf8'
登录后复制

修改好后,重新启动mysql 即可,查询一下show variables like ‘character%’。

如果不出意外,已经Ok。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!