mysql设置字符,不能启动的解决办法和注意事项
ubuntu 下装mysql,出现了各种问题,在使用的过程中。 写下来记录一下,避免以后出出问题了早不到。
mysql启动的时候提示:Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock.’不同发行版的系统路径可能会不一样,但结果是一样的,该路径下没有 mysqld.sock文件.
- 解决方法当时弄好了就关了,忘记了。
- ######## 2017.2.4日更新:########
- 今天又遇到同样问题了, 苦苦寻找, 找到了解决法方之一:
- 进入 cd /etc/init.d/ 目录,执行 mysqld_safe,会重新生成文件.
- 执行 sudo find / -type s | grep mysqld.sock 查找生成的文件路径
- 将生成的文件移动到提示错误时标示出来的路径,我的是直接就生成在了那个路径下
- ######## 结束2017.2.4 #####
- 注意,mysql装好之后把/var/mysql/mysql.sock 备份一下,创建数据库的时候记得设置编码。我是创建数据库的时候没有设置编码,然后后来重新修改my.conf,然后重启导致mysql.sock丢失。
dpkg: error processing mysql-server (–configure)/mysql-common(–configure)
- 解决,通常这是数据库卸载的时候没有正确卸载导致的。重新执行一下命令,完全卸载数据库,再重新安装。删除mysql前 先删除一下 /var/lib/mysql 还有 /etc/mysql
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* –purge
sudo apt-get remove apparmor
- 解决,通常这是数据库卸载的时候没有正确卸载导致的。重新执行一下命令,完全卸载数据库,再重新安装。删除mysql前 先删除一下 /var/lib/mysql 还有 /etc/mysql
mysql创建表的时候制定编码:
- 用show variables like ‘character_set_%’; 查看编码
- create database mydb character set utf8;创建数据库的时候直接制定编码;
- 修改默认字符集:
- 把 //etc/mysql/mysql.conf.d/mysqld.cnf 复制一份到 /etc/mysql/my.cnf
- 在[mysqld]下添加:
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake
其中,character_set_client为客户端编码方式;
character_set_connection为建立连接使用的编码;
character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。