ubuntu修改my.cnf文件导致mysql启动不了

最近在虚拟机上配置mysql,由于安装后字符集显示为
查询一下show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
先需要全部修改为utf8,根据网上提示修改mysql的启动配置文件 my.cnf
网上基本步骤为:
找到[client] 添加:
default-character-set=utf8 //默认字符集为utf8

找到[mysqld] 添加:
//默认字符集为utf8
default-character-set=utf8
//设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行
init_connect='SET NAMES utf8'
可是我根据这样修改后启动mysql服务报错,启动不了
在网上试了多种解决办法,都没有解决,
最后找到一个方法,可以解决,如下:
其他的还跟上面一样,只有在[mysqld]下面添加的
default-character-set=utf8
改为
character-set-server = utf8
重新启动mysql,启动成功
再查看编码为:
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
以下是在Ubuntu系统上安装MySQL 8.0.32后的默认 /etc/mysql/my.cnf 文件内容: ``` # The MySQL database server configuration file. # # You can copy this to one of: # - "/etc/mysql/my.cnf" to set global options, # - "~/.my.cnf" to set user-specific options. # # One can use all long options that the program supports. # Run program with --help to get a list of available options and with # --print-defaults to see which it would actually understand and use. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html [mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql #skip-external-locking skip-name-resolve skip-host-cache skip-ssl sql-mode = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION log-error = /var/log/mysql/error.log # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Recommended in standard MySQL setup # sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # # * Character sets # # MySQL/MariaDB default is Latin1, but in Ubuntu UTF-8 is default # character-set-server = utf8mb4 collation-server = utf8mb4_general_ci # # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! # # # * Security Features # # Read the manual, too, if you want chroot! # chroot = /var/lib/mysql/ # # For generating SSL certificates you can use for example the GUI tool "tinyca". # # ssl-ca=/etc/mysql/cacert.pem # ssl-cert=/etc/mysql/server-cert.pem # ssl-key=/etc/mysql/server-key.pem [mysql] # # * Basic Settings # socket = /var/run/mysqld/mysqld.sock prompt = \u@\h [\d]>\_ [mysqldump] # # * Basic Settings # socket = /var/run/mysqld/mysqld.sock quick quote-names max_allowed_packet = 16M [isamchk] key_buffer = 16M # # * IMPORTANT: Additional settings that can override those from this file! # The files must end with '.cnf', otherwise they'll be ignored. # !includedir /etc/mysql/conf.d/ ``` 注意,这只是默认的配置文件,实际上你可以根据需要进行修改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值