mysql设置字符,不能启动的解决办法和注意事项

来源:互联网 发布:业务流程数据化的例子 编辑:程序博客网 时间:2024/05/18 01:00

mysql设置字符,不能启动的解决办法和注意事项

ubuntu 下装mysql,出现了各种问题,在使用的过程中。 写下来记录一下,避免以后出出问题了早不到。

  1. 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丢失。
  2. 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
  3. 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数据库服务器的编码;
        只要保证以上四个采用的编码方式一样,就不会出现乱码问题。

参考链接:设置配置
参考链接:安装与配置
-

0 0